From 6900d189718de3b25605fb73e4a402d7e7ac454f Mon Sep 17 00:00:00 2001 From: Vulpicula <57735830+Vulpicula@users.noreply.github.com> Date: Wed, 19 Oct 2022 18:50:15 -0700 Subject: [PATCH 01/42] Fix openFile not working on Linux. Thanks to LeotomasMC for some assistance with this. I noticed and was quite confused by the fact that certain things in Flixel failed to work on Linux, such as FlxG.openURL, which returned "xdg-open: unexpected argument '&'". This appears to fix that and seems to work quite fine, with that segment of Flixel now working once more. May be good to have someone more qualified than I check this out before er... merging, as I'm not exactly the best programmer around. --- src/lime/system/System.hx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/lime/system/System.hx b/src/lime/system/System.hx index aa3867a1f..ac6975396 100644 --- a/src/lime/system/System.hx +++ b/src/lime/system/System.hx @@ -298,7 +298,7 @@ class System #elseif mac Sys.command("/usr/bin/open", [path]); #elseif linux - Sys.command("/usr/bin/xdg-open", [path, "&"]); + Sys.command("/usr/bin/xdg-open", [path]); #elseif (js && html5) Browser.window.open(path, "_blank"); #elseif flash From cd9f0225a1f7c29ba9ec3eb6a3e3be69e16fc5a8 Mon Sep 17 00:00:00 2001 From: player-03 Date: Fri, 21 Oct 2022 19:39:30 -0400 Subject: [PATCH 02/42] Fix null pointer error in `IOSPlatform`. --- tools/platforms/IOSPlatform.hx | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/tools/platforms/IOSPlatform.hx b/tools/platforms/IOSPlatform.hx index 1f748546a..065e4d48d 100644 --- a/tools/platforms/IOSPlatform.hx +++ b/tools/platforms/IOSPlatform.hx @@ -734,7 +734,8 @@ class IOSPlatform extends PlatformTarget #if (lime && lime_cffi && !macro) Log.info("", " - \x1b[1mGenerating image:\x1b[0m " + imagePath); - var image = new Image(null, 0, 0, size.w, size.h, (0xFF << 24) | (project.window.background & 0xFFFFFF)); + var background = project.window.background != null ? project.window.background & 0xFFFFFF : 0x000000; + var image = new Image(null, 0, 0, size.w, size.h, (0xFF << 24) | background); var bytes = image.encode(PNG); File.saveBytes(imagePath, bytes); From 8a3c7ac6290fe784ff2e3bbe6ad23e71dce2f2ae Mon Sep 17 00:00:00 2001 From: Joseph Cloutier Date: Fri, 18 Nov 2022 18:16:49 -0500 Subject: [PATCH 03/42] Use macOS 11 for testing. GitHub has officially begun to drop macOS 10.15 support, causing workflows to fail. --- .github/workflows/main.yml | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 26fb1e137..9e71c4d0c 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -76,7 +76,7 @@ jobs: if-no-files-found: error macos-ndll: - runs-on: macos-10.15 + runs-on: macos-11 steps: - uses: actions/checkout@v2 @@ -200,7 +200,7 @@ jobs: android-ndll: needs: macos-ndll - runs-on: macos-10.15 + runs-on: macos-11 steps: - uses: actions/checkout@v2 @@ -268,7 +268,7 @@ jobs: ios-ndll: needs: macos-ndll - runs-on: macos-10.15 + runs-on: macos-11 steps: - uses: actions/checkout@v2 @@ -318,7 +318,7 @@ jobs: package-haxelib: needs: [linux-ndll, macos-ndll, windows-ndll, android-ndll, ios-ndll] - runs-on: macos-10.15 + runs-on: macos-11 steps: - uses: actions/checkout@v2 @@ -416,7 +416,7 @@ jobs: if-no-files-found: error docs: - runs-on: macos-10.15 + runs-on: macos-11 steps: - uses: actions/checkout@v2 @@ -449,7 +449,7 @@ jobs: android-samples: needs: package-haxelib - runs-on: macos-10.15 + runs-on: macos-11 steps: - name: Install Android NDK @@ -513,7 +513,7 @@ jobs: flash-samples: needs: package-haxelib - runs-on: macos-10.15 + runs-on: macos-11 steps: - uses: krdlab/setup-haxe@v1 @@ -554,7 +554,7 @@ jobs: needs: package-haxelib strategy: matrix: - os: [ubuntu-18.04, macos-10.15, windows-latest] + os: [ubuntu-18.04, macos-11, windows-latest] runs-on: ${{ matrix.os }} steps: @@ -619,7 +619,7 @@ jobs: html5-samples: needs: package-haxelib - runs-on: macos-10.15 + runs-on: macos-11 steps: - uses: krdlab/setup-haxe@v1 @@ -658,7 +658,7 @@ jobs: ios-samples: needs: package-haxelib - runs-on: macos-10.15 + runs-on: macos-11 steps: - uses: krdlab/setup-haxe@v1 @@ -755,7 +755,7 @@ jobs: macos-samples: needs: package-haxelib - runs-on: macos-10.15 + runs-on: macos-11 steps: - uses: krdlab/setup-haxe@v1 @@ -803,7 +803,7 @@ jobs: needs: package-haxelib strategy: matrix: - os: [ubuntu-18.04, macos-10.15, windows-latest] + os: [ubuntu-18.04, macos-11, windows-latest] runs-on: ${{ matrix.os }} steps: From 14340b5f87db9fa5c8ad6506d8cdd2a015b046c4 Mon Sep 17 00:00:00 2001 From: player-03 Date: Sun, 20 Nov 2022 11:51:56 -0500 Subject: [PATCH 04/42] Fix error when using JNI in macro context. --- src/lime/system/JNI.hx | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/lime/system/JNI.hx b/src/lime/system/JNI.hx index fea483491..7fb42ac03 100644 --- a/src/lime/system/JNI.hx +++ b/src/lime/system/JNI.hx @@ -103,7 +103,7 @@ class JNI #if (android && lime_cffi && !macro) return new JNIMemberField(NativeCFFI.lime_jni_create_field(className, memberName, signature, false)); #else - return null; + return new JNIMemberField(null); #end } @@ -139,7 +139,7 @@ class JNI #if (android && lime_cffi && !macro) return new JNIStaticField(NativeCFFI.lime_jni_create_field(className, memberName, signature, true)); #else - return null; + return new JNIStaticField(null); #end } @@ -185,7 +185,7 @@ class JNI { initialized = true; - #if android + #if (android && !macro) var method = System.load("lime", "lime_jni_init_callback", 1); method(onCallback); #end From 162b5da2c37793db3f73c26de1c29f47bf680bc6 Mon Sep 17 00:00:00 2001 From: arm32x Date: Wed, 30 Nov 2022 11:30:28 -0500 Subject: [PATCH 05/42] Stop linking with liblinuxcompat.a This library used to be provided by HXCPP, but it was removed in version 3.4.185. Fortunately, it doesn't seem to be necessary, so this commit stops Lime from attempting to link with it. --- templates/cpp/static/BuildMain.xml | 1 - 1 file changed, 1 deletion(-) diff --git a/templates/cpp/static/BuildMain.xml b/templates/cpp/static/BuildMain.xml index 72472c570..ecc507130 100644 --- a/templates/cpp/static/BuildMain.xml +++ b/templates/cpp/static/BuildMain.xml @@ -40,7 +40,6 @@
- From 233f9a4d65db59875f58ee5929ea3638d6fe95c8 Mon Sep 17 00:00:00 2001 From: Josh Tynjala Date: Fri, 16 Dec 2022 09:02:58 -0800 Subject: [PATCH 06/42] README: update build status URL --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 8ec70953a..b7358cbd4 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,4 @@ -[![MIT License](https://img.shields.io/badge/license-MIT-blue.svg?style=flat)](LICENSE.md) [![Haxelib Version](https://img.shields.io/github/tag/openfl/lime.svg?style=flat&label=haxelib)](http://lib.haxe.org/p/lime) [![Build Status](https://img.shields.io/github/workflow/status/openfl/lime/CI/develop)](https://github.com/openfl/lime/actions) [![Community](https://img.shields.io/discourse/posts?color=24afc4&server=https%3A%2F%2Fcommunity.openfl.org&label=community)](https://community.openfl.org/c/lime/19) [![Discord Server](https://img.shields.io/discord/415681294446493696.svg?color=7289da)](https://discordapp.com/invite/tDgq8EE) +[![MIT License](https://img.shields.io/badge/license-MIT-blue.svg?style=flat)](LICENSE.md) [![Haxelib Version](https://img.shields.io/github/tag/openfl/lime.svg?style=flat&label=haxelib)](http://lib.haxe.org/p/lime) [![Build Status](https://img.shields.io/github/actions/workflow/status/openfl/lime/main.yml?branch=develop)](https://github.com/openfl/lime/actions) [![Community](https://img.shields.io/discourse/posts?color=24afc4&server=https%3A%2F%2Fcommunity.openfl.org&label=community)](https://community.openfl.org/c/lime/19) [![Discord Server](https://img.shields.io/discord/415681294446493696.svg?color=7289da)](https://discordapp.com/invite/tDgq8EE) Lime ==== From 0746928f3964daa1e2f8e7f7d1d15319ea9dda58 Mon Sep 17 00:00:00 2001 From: Josh Tynjala Date: Fri, 16 Dec 2022 10:34:38 -0800 Subject: [PATCH 07/42] FileDialog: Windows support for multiple file extension filters in OpenFile/OpenFiles (references #2600) --- project/src/ui/FileDialog.cpp | 53 +++++++++++++++++++++++++++++++---- 1 file changed, 47 insertions(+), 6 deletions(-) diff --git a/project/src/ui/FileDialog.cpp b/project/src/ui/FileDialog.cpp index 8ed76afe7..761fa9cfd 100644 --- a/project/src/ui/FileDialog.cpp +++ b/project/src/ui/FileDialog.cpp @@ -2,6 +2,7 @@ #include #include #include +#include #include @@ -71,10 +72,30 @@ namespace lime { #ifdef HX_WINDOWS - std::wstring temp (L"*."); - const wchar_t* filters[] = { filter ? (temp + *filter).c_str () : NULL }; + std::vector filters_vec; + if (filter) { + std::wstring temp (L"*."); + std::wstring line; + std::wstringstream ss(*filter); + while(std::getline(ss, line, L',')) { + filters_vec.push_back(temp + line); + } + } - const wchar_t* path = tinyfd_openFileDialogW (title ? title->c_str () : 0, defaultPath ? defaultPath->c_str () : 0, filter ? 1 : 0, filter ? filters : NULL, NULL, 0); + const int numFilters = filter ? filters_vec.size() : 1; + const wchar_t **filters = new const wchar_t*[numFilters]; + if (numFilters > 0) { + for (int index = 0; index < numFilters; index++) { + filters[index] = const_cast(filters_vec[index].c_str()); + } + } + else { + filters[0] = NULL; + } + + const wchar_t* path = tinyfd_openFileDialogW (title ? title->c_str () : 0, defaultPath ? defaultPath->c_str () : 0, filter ? numFilters : 0, filter ? filters : NULL, NULL, 0); + + delete filters; if (path && std::wcslen(path) > 0) { @@ -125,10 +146,30 @@ namespace lime { #ifdef HX_WINDOWS - std::wstring temp (L"*."); - const wchar_t* filters[] = { filter ? (temp + *filter).c_str () : NULL }; + std::vector filters_vec; + if (filter) { + std::wstring temp (L"*."); + std::wstring line; + std::wstringstream ss(*filter); + while(std::getline(ss, line, L',')) { + filters_vec.push_back(temp + line); + } + } - const wchar_t* paths = tinyfd_openFileDialogW (title ? title->c_str () : 0, defaultPath ? defaultPath->c_str () : 0, filter ? 1 : 0, filter ? filters : NULL, NULL, 1); + const int numFilters = filter ? filters_vec.size() : 1; + const wchar_t **filters = new const wchar_t*[numFilters]; + if (numFilters > 0) { + for (int index = 0; index < numFilters; index++) { + filters[index] = const_cast(filters_vec[index].c_str()); + } + } + else { + filters[0] = NULL; + } + + const wchar_t* paths = tinyfd_openFileDialogW (title ? title->c_str () : 0, defaultPath ? defaultPath->c_str () : 0, filter ? numFilters : 0, filter ? filters : NULL, NULL, 1); + + delete filters; if (paths) { From 38e3205bac2913eb7a6584faba71f788a0ef310c Mon Sep 17 00:00:00 2001 From: Josh Tynjala Date: Fri, 16 Dec 2022 12:38:40 -0800 Subject: [PATCH 08/42] FileDialog: non-Windows support for multiple file extension filters in OpenFile/OpenFiles (closes #2600) --- project/src/ui/FileDialog.cpp | 56 ++++++++++++++++++++++++++--------- 1 file changed, 42 insertions(+), 14 deletions(-) diff --git a/project/src/ui/FileDialog.cpp b/project/src/ui/FileDialog.cpp index 761fa9cfd..ed50732c3 100644 --- a/project/src/ui/FileDialog.cpp +++ b/project/src/ui/FileDialog.cpp @@ -110,16 +110,30 @@ namespace lime { std::string* _filter = wstring_to_string (filter); std::string* _defaultPath = wstring_to_string (defaultPath); - const char* filters[] = { NULL }; - + std::vector filters_vec; if (_filter) { - - _filter->insert (0, "*."); - filters[0] = _filter->c_str (); - + std::string line; + std::stringstream ss(*_filter); + while(std::getline(ss, line, ',')) { + line.insert (0, "*."); + filters_vec.push_back(line); + } } - const char* path = tinyfd_openFileDialog (_title ? _title->c_str () : NULL, _defaultPath ? _defaultPath->c_str () : NULL, _filter ? 1 : 0, _filter ? filters : NULL, NULL, 0); + const int numFilters = filter ? filters_vec.size() : 1; + const char **filters = new const char*[numFilters]; + if (numFilters > 0) { + for (int index = 0; index < numFilters; index++) { + filters[index] = const_cast(filters_vec[index].c_str()); + } + } + else { + filters[0] = NULL; + } + + const char* path = tinyfd_openFileDialog (_title ? _title->c_str () : NULL, _defaultPath ? _defaultPath->c_str () : NULL, _filter ? numFilters : 0, _filter ? filters : NULL, NULL, 0); + + delete filters; if (_title) delete _title; if (_filter) delete _filter; @@ -183,16 +197,30 @@ namespace lime { std::string* _filter = wstring_to_string (filter); std::string* _defaultPath = wstring_to_string (defaultPath); - const char* filters[] = { NULL }; - + std::vector filters_vec; if (_filter) { - - _filter->insert (0, "*."); - filters[0] = _filter->c_str (); - + std::string line; + std::stringstream ss(*_filter); + while(std::getline(ss, line, ',')) { + line.insert (0, "*."); + filters_vec.push_back(line); + } } - const char* paths = tinyfd_openFileDialog (_title ? _title->c_str () : NULL, _defaultPath ? _defaultPath->c_str () : NULL, _filter ? 1 : 0, _filter ? filters : NULL, NULL, 1); + const int numFilters = filter ? filters_vec.size() : 1; + const char **filters = new const char*[numFilters]; + if (numFilters > 0) { + for (int index = 0; index < numFilters; index++) { + filters[index] = const_cast(filters_vec[index].c_str()); + } + } + else { + filters[0] = NULL; + } + + const char* paths = tinyfd_openFileDialog (_title ? _title->c_str () : NULL, _defaultPath ? _defaultPath->c_str () : NULL, _filter ? numFilters : 0, _filter ? filters : NULL, NULL, 1); + + delete filters; if (_title) delete _title; if (_filter) delete _filter; From d9e2a4ab713cb582fc1cf09178ee30e55681d61d Mon Sep 17 00:00:00 2001 From: Josh Tynjala Date: Fri, 16 Dec 2022 13:01:42 -0800 Subject: [PATCH 09/42] FileDialog: use delete[] to match new[] --- project/src/ui/FileDialog.cpp | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/project/src/ui/FileDialog.cpp b/project/src/ui/FileDialog.cpp index ed50732c3..3880524db 100644 --- a/project/src/ui/FileDialog.cpp +++ b/project/src/ui/FileDialog.cpp @@ -95,7 +95,7 @@ namespace lime { const wchar_t* path = tinyfd_openFileDialogW (title ? title->c_str () : 0, defaultPath ? defaultPath->c_str () : 0, filter ? numFilters : 0, filter ? filters : NULL, NULL, 0); - delete filters; + delete[] filters; if (path && std::wcslen(path) > 0) { @@ -133,7 +133,7 @@ namespace lime { const char* path = tinyfd_openFileDialog (_title ? _title->c_str () : NULL, _defaultPath ? _defaultPath->c_str () : NULL, _filter ? numFilters : 0, _filter ? filters : NULL, NULL, 0); - delete filters; + delete[] filters; if (_title) delete _title; if (_filter) delete _filter; @@ -183,7 +183,7 @@ namespace lime { const wchar_t* paths = tinyfd_openFileDialogW (title ? title->c_str () : 0, defaultPath ? defaultPath->c_str () : 0, filter ? numFilters : 0, filter ? filters : NULL, NULL, 1); - delete filters; + delete[] filters; if (paths) { @@ -220,7 +220,7 @@ namespace lime { const char* paths = tinyfd_openFileDialog (_title ? _title->c_str () : NULL, _defaultPath ? _defaultPath->c_str () : NULL, _filter ? numFilters : 0, _filter ? filters : NULL, NULL, 1); - delete filters; + delete[] filters; if (_title) delete _title; if (_filter) delete _filter; From 4260d2be1f3a73452e54e945b4e58fe8ae6b3a6d Mon Sep 17 00:00:00 2001 From: Josh Tynjala Date: Fri, 16 Dec 2022 13:04:24 -0800 Subject: [PATCH 10/42] Lime version 8.0.1 --- haxelib.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/haxelib.json b/haxelib.json index 3fa1d72d2..a64155269 100644 --- a/haxelib.json +++ b/haxelib.json @@ -4,7 +4,7 @@ "license": "MIT", "tags": [], "description": "A foundational Haxe framework for cross-platform development", - "version": "8.0.0", + "version": "8.0.1", "releasenote": "Update HashLink, iOS and Android build fixes, and ongoing improvements", "contributors": [ "singmajesty", From 53a1b8035054036cda32e157c6b9b3955a5dfb77 Mon Sep 17 00:00:00 2001 From: Josh Tynjala Date: Fri, 16 Dec 2022 14:37:39 -0800 Subject: [PATCH 11/42] FileDialog: fix case where no file extension filters are specified --- project/src/ui/FileDialog.cpp | 24 ++++++++++-------------- 1 file changed, 10 insertions(+), 14 deletions(-) diff --git a/project/src/ui/FileDialog.cpp b/project/src/ui/FileDialog.cpp index 3880524db..b4ce57fdd 100644 --- a/project/src/ui/FileDialog.cpp +++ b/project/src/ui/FileDialog.cpp @@ -84,12 +84,11 @@ namespace lime { const int numFilters = filter ? filters_vec.size() : 1; const wchar_t **filters = new const wchar_t*[numFilters]; - if (numFilters > 0) { + if (filter && numFilters > 0) { for (int index = 0; index < numFilters; index++) { filters[index] = const_cast(filters_vec[index].c_str()); } - } - else { + } else { filters[0] = NULL; } @@ -120,14 +119,13 @@ namespace lime { } } - const int numFilters = filter ? filters_vec.size() : 1; + const int numFilters = _filter ? filters_vec.size() : 1; const char **filters = new const char*[numFilters]; - if (numFilters > 0) { + if (_filter && numFilters > 0) { for (int index = 0; index < numFilters; index++) { filters[index] = const_cast(filters_vec[index].c_str()); } - } - else { + } else { filters[0] = NULL; } @@ -172,12 +170,11 @@ namespace lime { const int numFilters = filter ? filters_vec.size() : 1; const wchar_t **filters = new const wchar_t*[numFilters]; - if (numFilters > 0) { + if (filter && numFilters > 0) { for (int index = 0; index < numFilters; index++) { filters[index] = const_cast(filters_vec[index].c_str()); } - } - else { + } else { filters[0] = NULL; } @@ -207,14 +204,13 @@ namespace lime { } } - const int numFilters = filter ? filters_vec.size() : 1; + const int numFilters = _filter ? filters_vec.size() : 1; const char **filters = new const char*[numFilters]; - if (numFilters > 0) { + if (_filter && numFilters > 0) { for (int index = 0; index < numFilters; index++) { filters[index] = const_cast(filters_vec[index].c_str()); } - } - else { + } else { filters[0] = NULL; } From 7d7f6fbbd351c76362aa0c607901412ad2f365da Mon Sep 17 00:00:00 2001 From: Josh Tynjala Date: Fri, 30 Dec 2022 22:03:38 -0800 Subject: [PATCH 12/42] AIRHelper: allow Adobe AIR apps to be signed with storetypes that don't have a keystore file For example, -storetype KeychainStore can be used to sign with an -alias value stored in the macOS Keychain --- src/lime/tools/AIRHelper.hx | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/src/lime/tools/AIRHelper.hx b/src/lime/tools/AIRHelper.hx index c6c7f86f8..08c009060 100644 --- a/src/lime/tools/AIRHelper.hx +++ b/src/lime/tools/AIRHelper.hx @@ -93,13 +93,16 @@ class AIRHelper if (project.keystore != null) { - var keystore = Path.tryFullPath(project.keystore.path); var keystoreType = project.keystore.type != null ? project.keystore.type : "pkcs12"; - signingOptions.push("-storetype"); signingOptions.push(keystoreType); - signingOptions.push("-keystore"); - signingOptions.push(keystore); + + if (project.keystore.path != null) + { + var keystore = Path.tryFullPath(project.keystore.path); + signingOptions.push("-keystore"); + signingOptions.push(keystore); + } if (project.keystore.alias != null) { From 468c1933306d72ed2b32014d5ff44ba4bc6cc853 Mon Sep 17 00:00:00 2001 From: Josh Tynjala Date: Fri, 30 Dec 2022 22:05:59 -0800 Subject: [PATCH 13/42] ProjectXMLParser: don't require path to be specified in element to create Keystore object (can also be created if type is specified, which allows keystores without paths) --- src/lime/tools/ProjectXMLParser.hx | 21 +++++++++++---------- 1 file changed, 11 insertions(+), 10 deletions(-) diff --git a/src/lime/tools/ProjectXMLParser.hx b/src/lime/tools/ProjectXMLParser.hx index 3ffeadf62..aa79825e6 100644 --- a/src/lime/tools/ProjectXMLParser.hx +++ b/src/lime/tools/ProjectXMLParser.hx @@ -1670,20 +1670,21 @@ class ProjectXMLParser extends HXProject parseXML(element, "", extensionPath); case "certificate": - var path = null; - - if (element.has.path) + if (element.has.path || element.has.type) { - path = element.att.path; - } - else if (element.has.keystore) - { - path = element.att.keystore; + keystore = new Keystore(); } - if (path != null) + if (keystore != null) { - keystore = new Keystore(Path.combine(extensionPath, substitute(element.att.path))); + if (element.has.path) + { + keystore.path = Path.combine(extensionPath, substitute(element.att.path)); + } + else if (element.has.keystore) + { + keystore.path = Path.combine(extensionPath, substitute(element.att.keystore)); + } if (element.has.type) { From 603a3619b66386bd1ee15620a6cabc94bc4a49e5 Mon Sep 17 00:00:00 2001 From: Josh Tynjala Date: Fri, 30 Dec 2022 22:07:44 -0800 Subject: [PATCH 14/42] HXProject: null check for keystore.path --- src/lime/tools/HXProject.hx | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/lime/tools/HXProject.hx b/src/lime/tools/HXProject.hx index 78eab0213..43cb8fa1b 100644 --- a/src/lime/tools/HXProject.hx +++ b/src/lime/tools/HXProject.hx @@ -1278,7 +1278,10 @@ class HXProject extends Script if (keystore != null) { - context.KEY_STORE = Path.tryFullPath(keystore.path); + if (keystore.path != null) + { + context.KEY_STORE = Path.tryFullPath(keystore.path); + } if (keystore.password != null) { From 1545179b5b2d7a94db7a84609488094f94b54b09 Mon Sep 17 00:00:00 2001 From: player-03 Date: Tue, 3 Jan 2023 14:15:23 -0500 Subject: [PATCH 15/42] Strip trailing whitespace. --- src/lime/_internal/backend/native/NativeHTTPRequest.hx | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/lime/_internal/backend/native/NativeHTTPRequest.hx b/src/lime/_internal/backend/native/NativeHTTPRequest.hx index 9f7c65186..0236551ec 100644 --- a/src/lime/_internal/backend/native/NativeHTTPRequest.hx +++ b/src/lime/_internal/backend/native/NativeHTTPRequest.hx @@ -361,7 +361,7 @@ class NativeHTTPRequest return promise.future; } - + private function buildBuffer() { bytes = buffer.getBytes(); return bytes; @@ -393,9 +393,9 @@ class NativeHTTPRequest } private function curl_onWrite(curl:CURL, output:Bytes):Int - { + { buffer.addBytes(output, 0, output.length); - + return output.length; } From 75a3f10a34e675f5387f669cbd4c22e99debc37f Mon Sep 17 00:00:00 2001 From: player-03 Date: Thu, 5 Jan 2023 14:15:32 -0500 Subject: [PATCH 16/42] Remove conflicting files. --- .github/workflows/main.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 9e71c4d0c..00efcde36 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -94,6 +94,8 @@ jobs: - name: Install Haxe dependencies run: | pushd project/lib/hashlink + rm /usr/local/bin/2to3 + rm /usr/local/bin/2to3-3.11 brew update brew bundle popd From f02930d8ba3aa0edd09f9aae8f8f55ad11622ba6 Mon Sep 17 00:00:00 2001 From: player-03 Date: Thu, 5 Jan 2023 14:29:22 -0500 Subject: [PATCH 17/42] Remove `idle3` files to prevent conflict. Now using `*` to remove multiple files at once, because otherwise this may take a lot of space. --- .github/workflows/main.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 00efcde36..eb0978179 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -94,8 +94,8 @@ jobs: - name: Install Haxe dependencies run: | pushd project/lib/hashlink - rm /usr/local/bin/2to3 - rm /usr/local/bin/2to3-3.11 + rm /usr/local/bin/2to3* + rm /usr/local/bin/idle3* brew update brew bundle popd From 41a473f3e6adbbdd7dedf745a23082af67cae8e8 Mon Sep 17 00:00:00 2001 From: player-03 Date: Thu, 5 Jan 2023 14:43:49 -0500 Subject: [PATCH 18/42] Use `brew update --force`. --- .github/workflows/main.yml | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index eb0978179..71967e000 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -94,9 +94,7 @@ jobs: - name: Install Haxe dependencies run: | pushd project/lib/hashlink - rm /usr/local/bin/2to3* - rm /usr/local/bin/idle3* - brew update + brew update --force brew bundle popd haxelib install hxcpp --quiet From 83c24935ef96963f74532186fe1dab9f1d54ee8f Mon Sep 17 00:00:00 2001 From: player-03 Date: Thu, 5 Jan 2023 14:52:59 -0500 Subject: [PATCH 19/42] Try to skip reinstalling `python`. --- .github/workflows/main.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 71967e000..d44abca6f 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -94,8 +94,8 @@ jobs: - name: Install Haxe dependencies run: | pushd project/lib/hashlink - brew update --force - brew bundle + brew update + HOMEBREW_BUNDLE_BREW_SKIP=python brew bundle popd haxelib install hxcpp --quiet haxelib install format --quiet From 3f630e169c206dd26b4c86d000898b17a5aab545 Mon Sep 17 00:00:00 2001 From: player-03 Date: Thu, 5 Jan 2023 15:06:28 -0500 Subject: [PATCH 20/42] Try more ways to skip `python`. Varying which versions get skipped to help figure out which worked. --- .github/workflows/main.yml | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index d44abca6f..a2f74992c 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -95,7 +95,12 @@ jobs: run: | pushd project/lib/hashlink brew update - HOMEBREW_BUNDLE_BREW_SKIP=python brew bundle + export HOMEBREW_BUNDLE_BREW_SKIP=python python@3.10 + export HOMEBREW_BUNDLE_CASK_SKIP=python python@3.10 + export HOMEBREW_BUNDLE_MAS_SKIP=python python@3.10 + export HOMEBREW_BUNDLE_WHALEBREW_SKIP=python python@3.11 + export HOMEBREW_BUNDLE_TAP_SKIP=python python@3.11 + brew bundle popd haxelib install hxcpp --quiet haxelib install format --quiet From ffbe4154cbef24520642a2f568d2544d31fbdb90 Mon Sep 17 00:00:00 2001 From: player-03 Date: Thu, 5 Jan 2023 15:23:52 -0500 Subject: [PATCH 21/42] Quote spaces. --- .github/workflows/main.yml | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index a2f74992c..b6a5f11d9 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -95,11 +95,11 @@ jobs: run: | pushd project/lib/hashlink brew update - export HOMEBREW_BUNDLE_BREW_SKIP=python python@3.10 - export HOMEBREW_BUNDLE_CASK_SKIP=python python@3.10 - export HOMEBREW_BUNDLE_MAS_SKIP=python python@3.10 - export HOMEBREW_BUNDLE_WHALEBREW_SKIP=python python@3.11 - export HOMEBREW_BUNDLE_TAP_SKIP=python python@3.11 + export HOMEBREW_BUNDLE_BREW_SKIP='python python@3.10' + export HOMEBREW_BUNDLE_CASK_SKIP='python python@3.10' + export HOMEBREW_BUNDLE_MAS_SKIP='python python@3.10' + export HOMEBREW_BUNDLE_WHALEBREW_SKIP='python python@3.11' + export HOMEBREW_BUNDLE_TAP_SKIP='python python@3.11' brew bundle popd haxelib install hxcpp --quiet From 04412da008ba789d5684259a390ae9d95562ff3e Mon Sep 17 00:00:00 2001 From: player-03 Date: Thu, 5 Jan 2023 15:40:10 -0500 Subject: [PATCH 22/42] Return to the original approach. We'll just enumerate all the files that produce errors. This time: pydoc3. --- .github/workflows/main.yml | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index b6a5f11d9..c065958c7 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -95,11 +95,9 @@ jobs: run: | pushd project/lib/hashlink brew update - export HOMEBREW_BUNDLE_BREW_SKIP='python python@3.10' - export HOMEBREW_BUNDLE_CASK_SKIP='python python@3.10' - export HOMEBREW_BUNDLE_MAS_SKIP='python python@3.10' - export HOMEBREW_BUNDLE_WHALEBREW_SKIP='python python@3.11' - export HOMEBREW_BUNDLE_TAP_SKIP='python python@3.11' + rm /usr/local/bin/2to3* + rm /usr/local/bin/idle3* + rm /usr/local/bin/pydoc3* brew bundle popd haxelib install hxcpp --quiet From 092bee0680a9ef5948a9ee1625e884f3abdb99ba Mon Sep 17 00:00:00 2001 From: player-03 Date: Thu, 5 Jan 2023 16:01:43 -0500 Subject: [PATCH 23/42] Manually install the problem versions of python. This way, we get to add the `--overwrite` flag. --- .github/workflows/main.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index c065958c7..15bd977ac 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -95,9 +95,9 @@ jobs: run: | pushd project/lib/hashlink brew update - rm /usr/local/bin/2to3* - rm /usr/local/bin/idle3* - rm /usr/local/bin/pydoc3* + # `brew bundle` is going to install these versions of python without specifying `--overwrite` + brew install --overwrite python@3.10 + brew install --overwrite python@3.11 brew bundle popd haxelib install hxcpp --quiet From 255b5cba9eb2e97ee2ab4a76d27e6e13945a52d2 Mon Sep 17 00:00:00 2001 From: player-03 Date: Thu, 5 Jan 2023 16:22:18 -0500 Subject: [PATCH 24/42] Return to the original approach, again. At least this time it printed a full list of conflicts. With any luck, this will do it. --- .github/workflows/main.yml | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 15bd977ac..88500f5a6 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -95,9 +95,10 @@ jobs: run: | pushd project/lib/hashlink brew update - # `brew bundle` is going to install these versions of python without specifying `--overwrite` - brew install --overwrite python@3.10 - brew install --overwrite python@3.11 + rm /usr/local/bin/2to3* + rm /usr/local/bin/idle3* + rm /usr/local/bin/pydoc3* + rm /usr/local/bin/python3* brew bundle popd haxelib install hxcpp --quiet From fb596e9d8bb173f996994b95eea67a67b0aba6e2 Mon Sep 17 00:00:00 2001 From: ecanela Date: Thu, 5 Jan 2023 17:10:42 -0600 Subject: [PATCH 25/42] fix a typo in merge function comment --- src/lime/graphics/Image.hx | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/src/lime/graphics/Image.hx b/src/lime/graphics/Image.hx index 04fa35de3..73d1daca4 100644 --- a/src/lime/graphics/Image.hx +++ b/src/lime/graphics/Image.hx @@ -370,7 +370,11 @@ class Image case FLASH: var srcChannel = switch (sourceChannel) { - case RED: 1; + case + + + + : 1; case GREEN: 2; case BLUE: 4; case ALPHA: 8; @@ -1071,9 +1075,9 @@ class Image @param sourceRect The source rectangle to use when copying @param destPoint The destination point in this `Image` to copy into @param redMultiplier A red multiplier to use when blitting - @param greenMultiplier A red multiplier to use when blitting - @param blueMultiplier A red multiplier to use when blitting - @param alphaMultiplier A red multiplier to use when blitting + @param greenMultiplier A green multiplier to use when blitting + @param blueMultiplier A blue multiplier to use when blitting + @param alphaMultiplier A alpha multiplier to use when blitting **/ public function merge(sourceImage:Image, sourceRect:Rectangle, destPoint:Vector2, redMultiplier:Int, greenMultiplier:Int, blueMultiplier:Int, alphaMultiplier:Int):Void From da40e9ea27f1f83f8bf5dc37e9c255ffa5245e9b Mon Sep 17 00:00:00 2001 From: ecanela Date: Fri, 6 Jan 2023 12:39:16 -0600 Subject: [PATCH 26/42] fix my mystake typo.. sorry for the previous mistake, --- src/lime/graphics/Image.hx | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/src/lime/graphics/Image.hx b/src/lime/graphics/Image.hx index 73d1daca4..7d5da9ced 100644 --- a/src/lime/graphics/Image.hx +++ b/src/lime/graphics/Image.hx @@ -370,11 +370,7 @@ class Image case FLASH: var srcChannel = switch (sourceChannel) { - case - - - - : 1; + case RED: 1; case GREEN: 2; case BLUE: 4; case ALPHA: 8; From 908905b8875ab86be9a5e5d1f7442bbc34ac0da9 Mon Sep 17 00:00:00 2001 From: player-03 Date: Fri, 6 Jan 2023 13:40:58 -0500 Subject: [PATCH 27/42] Change "A" to "An." --- src/lime/graphics/Image.hx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/lime/graphics/Image.hx b/src/lime/graphics/Image.hx index 7d5da9ced..8712788e8 100644 --- a/src/lime/graphics/Image.hx +++ b/src/lime/graphics/Image.hx @@ -1073,7 +1073,7 @@ class Image @param redMultiplier A red multiplier to use when blitting @param greenMultiplier A green multiplier to use when blitting @param blueMultiplier A blue multiplier to use when blitting - @param alphaMultiplier A alpha multiplier to use when blitting + @param alphaMultiplier An alpha multiplier to use when blitting **/ public function merge(sourceImage:Image, sourceRect:Rectangle, destPoint:Vector2, redMultiplier:Int, greenMultiplier:Int, blueMultiplier:Int, alphaMultiplier:Int):Void From 26c6930c41d5a6a59478aa6897a06ae615f999ae Mon Sep 17 00:00:00 2001 From: Josh Tynjala Date: Wed, 11 Jan 2023 12:49:49 -0800 Subject: [PATCH 28/42] HTML5Window: call blur() before removing the compositionend listener (references openfl/openfl#2564) This ensures that incomplete IME input gets committed --- src/lime/_internal/backend/html5/HTML5Window.hx | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/lime/_internal/backend/html5/HTML5Window.hx b/src/lime/_internal/backend/html5/HTML5Window.hx index a5a636025..ff5261a2d 100644 --- a/src/lime/_internal/backend/html5/HTML5Window.hx +++ b/src/lime/_internal/backend/html5/HTML5Window.hx @@ -1167,6 +1167,10 @@ class HTML5Window { if (textInput != null) { + // call blur() before removing the compositionend listener + // to ensure that incomplete IME input is committed + textInput.blur(); + textInput.removeEventListener('input', handleInputEvent, true); textInput.removeEventListener('blur', handleFocusEvent, true); textInput.removeEventListener('cut', handleCutOrCopyEvent, true); @@ -1175,7 +1179,6 @@ class HTML5Window textInput.removeEventListener('compositionstart', handleCompositionstartEvent, true); textInput.removeEventListener('compositionend', handleCompositionendEvent, true); - textInput.blur(); } } From 0a0a6f17a6978572cfef111b52379f89fc2c06f1 Mon Sep 17 00:00:00 2001 From: Josh Tynjala Date: Wed, 11 Jan 2023 12:51:15 -0800 Subject: [PATCH 29/42] HTML5Window: rename inputing to imeCompositionActive --- src/lime/_internal/backend/html5/HTML5Window.hx | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/src/lime/_internal/backend/html5/HTML5Window.hx b/src/lime/_internal/backend/html5/HTML5Window.hx index ff5261a2d..99128f5d8 100644 --- a/src/lime/_internal/backend/html5/HTML5Window.hx +++ b/src/lime/_internal/backend/html5/HTML5Window.hx @@ -550,11 +550,13 @@ class HTML5Window private function handleInputEvent(event:InputEvent):Void { + if (imeCompositionActive) + { + return; + } + // In order to ensure that the browser will fire clipboard events, we always need to have something selected. // Therefore, `value` cannot be "". - - if (inputing) return; - if (textInput.value != dummyCharacter) { var value = StringTools.replace(textInput.value, dummyCharacter, ""); @@ -1190,16 +1192,16 @@ class HTML5Window return textInputRect = value; } - private var inputing = false; + private var imeCompositionActive = false; public function handleCompositionstartEvent(e):Void { - inputing = true; + imeCompositionActive = true; } public function handleCompositionendEvent(e):Void { - inputing = false; + imeCompositionActive = false; handleInputEvent(e); } From e03cc18d31392b40f8079c4d53b17830abbc9dca Mon Sep 17 00:00:00 2001 From: Josh Tynjala Date: Wed, 11 Jan 2023 15:59:49 -0800 Subject: [PATCH 30/42] HTML5Window: use HTMLInputElement password instead of text to avoid IME issues on Android (closes openfl/openfl#2564) --- src/lime/_internal/backend/html5/HTML5Window.hx | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/lime/_internal/backend/html5/HTML5Window.hx b/src/lime/_internal/backend/html5/HTML5Window.hx index 99128f5d8..293e50613 100644 --- a/src/lime/_internal/backend/html5/HTML5Window.hx +++ b/src/lime/_internal/backend/html5/HTML5Window.hx @@ -1115,7 +1115,8 @@ class HTML5Window if (textInput == null) { textInput = cast Browser.document.createElement('input'); - textInput.type = 'text'; + // use password instead of text to avoid IME issues on Android + textInput.type = 'password'; textInput.style.position = 'absolute'; textInput.style.opacity = "0"; textInput.style.color = "transparent"; From d75b9f9cfaafbca58cafadeaf91475ea36362c8a Mon Sep 17 00:00:00 2001 From: Josh Tynjala Date: Wed, 11 Jan 2023 16:00:57 -0800 Subject: [PATCH 31/42] HTML5Window: add lime_enable_html5_ime define (references openfl/openfl#2564) --- src/lime/_internal/backend/html5/HTML5Window.hx | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/lime/_internal/backend/html5/HTML5Window.hx b/src/lime/_internal/backend/html5/HTML5Window.hx index 293e50613..55ddbc061 100644 --- a/src/lime/_internal/backend/html5/HTML5Window.hx +++ b/src/lime/_internal/backend/html5/HTML5Window.hx @@ -1115,8 +1115,12 @@ class HTML5Window if (textInput == null) { textInput = cast Browser.document.createElement('input'); + #if lime_enable_html5_ime + textInput.type = 'text'; + #else // use password instead of text to avoid IME issues on Android textInput.type = 'password'; + #end textInput.style.position = 'absolute'; textInput.style.opacity = "0"; textInput.style.color = "transparent"; From c44e292a0630d4194b31cf8ef84067cc3892296e Mon Sep 17 00:00:00 2001 From: Joseph Cloutier Date: Fri, 13 Jan 2023 21:19:52 -0500 Subject: [PATCH 32/42] Use `applicationDirectory` to locate assets. `programPath()` returns the directory of the executable, but that isn't always the asset root. (Notably, in the case of Mac apps.) --- templates/haxe/ManifestResources.hx | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/templates/haxe/ManifestResources.hx b/templates/haxe/ManifestResources.hx index a938f5686..cfaede1fb 100644 --- a/templates/haxe/ManifestResources.hx +++ b/templates/haxe/ManifestResources.hx @@ -59,10 +59,8 @@ import sys.FileSystem; rootPath = "assets/"; #elseif android rootPath = ""; - #elseif console + #elseif (console || sys) rootPath = lime.system.System.applicationDirectory; - #elseif sys - rootPath = Path.directory(Sys.programPath()) + "/"; #else rootPath = "./"; #end From 74f6cf6c742e9eb461b9920c2cebad8f697868e7 Mon Sep 17 00:00:00 2001 From: Joshua Granick Date: Tue, 31 Jan 2023 08:26:38 -0800 Subject: [PATCH 33/42] Update NOTICE.md --- NOTICE.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/NOTICE.md b/NOTICE.md index d0191299f..1d69d9649 100644 --- a/NOTICE.md +++ b/NOTICE.md @@ -2,7 +2,7 @@ Notices ======= ### Lime -Copyright (c) 2013-2020 Joshua Granick and other Lime contributors +Copyright (c) 2013-2023 Joshua Granick and other Lime contributors This product bundles cairo 1.15.2, which is available under an "MPL 1.1" license. For details, see [project/lib/cairo/](project/lib). From afadf5fec2b54364a0c330de7342eaf4c9d15db4 Mon Sep 17 00:00:00 2001 From: Joshua Granick Date: Tue, 31 Jan 2023 08:26:51 -0800 Subject: [PATCH 34/42] Update LICENSE.md --- LICENSE.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/LICENSE.md b/LICENSE.md index b639445e6..c6c85fd0d 100644 --- a/LICENSE.md +++ b/LICENSE.md @@ -1,7 +1,7 @@ MIT License =========== -Copyright (c) 2013-2020 Joshua Granick and other Lime contributors +Copyright (c) 2013-2023 Joshua Granick and other Lime contributors Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal From bb3d2fefa633a412619698d305586f2c8ae39d4c Mon Sep 17 00:00:00 2001 From: player-03 Date: Tue, 21 Feb 2023 11:18:56 -0500 Subject: [PATCH 35/42] Update changelog for 8.0.1 (#1621) * Apply markdownlint's recommendations. It's not a fan of double blank lines. * Fix accidental HTML tag. The tag doesn't get rendered, and it looks like the line says "Fixed merging of multiple tags in project files." Which makes perfect sense at a glance, so it isn't surprising this wasn't noticed. Thanks to markdownlint for catching this. Now that all its minor warnings are gone, important ones will stand out. * Write first pass of 8.0.1 changelog. Includes commits up to Jan 11, 2023. * Escape underscores. * Add release date --------- Co-authored-by: Josh Tynjala --- CHANGELOG.md | 168 +++++++++------------------------------------------ 1 file changed, 29 insertions(+), 139 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 306b4da79..ce7783641 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,29 @@ +Changelog +========= + +8.0.1 (02/21/2023) +------------------ + +* Fixed error where low-priority SVG icons (such as the Flixel icon) would override normal- or high-priority PNGs +* Fixed `NativeHTTPRequest` buffer management for neko +* Fixed text field losing focus after copying in HTML5 +* Fixed extra or missing slashes in certain cases when loading assets +* Fixed `Assets.isLocal(null)` not checking all asset types +* Fixed getting `Clipboard.text` on Linux +* Fixed building `-static -debug` Windows apps +* Fixed sounds playing twice on iOS +* Fixed command line arguments not being passed to HashLink on macOS +* Fixed a null pointer exception when setting sound position in HTML5 +* Fixed cURL not resending data if there's a redirect +* Fixed `FileDialog` behavior when filtering by multiple file extensions, or 0 file extensions +* Fixed error when importing `JNI` during a macro while building for Android +* Fixed building `-static` Linux apps +* Fixed crash when compiling iOS apps with no background color +* Fixed `System.openFile()` on Linux +* Fixed requiring a keystore to sign AIR apps +* Fixed requiring a path to create a keystore +* Fixed HTML5 text fields not updating promptly on Android devices + 8.0.0 (08/30/2022) ------------------ @@ -51,7 +77,6 @@ _releases are still supported when building Lime from the source._ * Fixed support for IEM input text on HTML5 * Fixed audio stutter on HTML5 when `force-html-audio` is defined - 7.8.0 (06/24/2020) ------------------ @@ -67,7 +92,6 @@ _releases are still supported when building Lime from the source._ * Fixed the search string for HaxeObject/JNI to be more precise * Fixed support for building using `-Djs-es=6` - 7.7.0 (01/27/2020) ------------------ @@ -96,7 +120,6 @@ _releases are still supported when building Lime from the source._ * Fixed the default launch screen sizes on the iOS target * Fixed Gradle paths to jcenter/Google for HTTPS support - 7.6.3 (09/11/2019) ------------------ @@ -104,13 +127,11 @@ _releases are still supported when building Lime from the source._ * Fixed support for both 32- and 64-bit Neko on Windows (for Haxe 3 and 4) * Fixed support for loading `HTTPRequest` data using the HL target - 7.6.2 (09/05/2019) ------------------ * Fixed support for 64-bit Neko on Windows (included in Haxe 4 RC 4) - 7.6.1 (09/04/2019) ------------------ @@ -118,7 +139,6 @@ _releases are still supported when building Lime from the source._ * Fixed incorrect default root path for asset manifests on some platforms * Fixed a crash on the HL target when pasting non-text data - 7.6.0 (08/20/2019) ------------------ @@ -144,13 +164,11 @@ _releases are still supported when building Lime from the source._ * Fixed the behavior of `image.copyPixels` in a few cases * Fixed minor issues when using the `-npm` HTML5 template - 7.5.0 (05/14/2019) ------------------ * Update version - 7.4.0 (05/14/2019) ------------------ @@ -169,7 +187,6 @@ _releases are still supported when building Lime from the source._ * Fixed issues effecting proper `Image` pixel-level APIs when targeting HL * Fixed a missing button value when dispatching HL mouse events - 7.3.0 (04/01/2019) ------------------ @@ -199,7 +216,6 @@ _releases are still supported when building Lime from the source._ * Fixed Java `HaxeObject.create` to return `null` if handle is `null` * Fixed exposure of generated `__ASSET__` classes to display completion - 7.2.1 (01/07/2019) ------------------ @@ -212,7 +228,6 @@ _releases are still supported when building Lime from the source._ * Fixed ability to cancel context menus on HTML5 when they occur on mouse down * Fixed font support for some video game console targets - 7.2.0 (12/04/2018) ------------------ @@ -238,7 +253,6 @@ _releases are still supported when building Lime from the source._ * Fixed native libraries to build with SSE3 support for better performance * Fixed use of the `-Ddom` define to force HTML5 DOM render mode - 7.1.1 (10/02/2018) ------------------ @@ -250,7 +264,6 @@ _releases are still supported when building Lime from the source._ * Fixed an issue when using larger than 64-bit background color values on Flash * Fixed `context.antialiasing` setting on HTML5 `Window` - 7.1.0 (09/26/2018) ------------------ @@ -286,7 +299,6 @@ _releases are still supported when building Lime from the source._ * Fixed an issue where `Assets` cache breaking was not working properly * Fixed compilation issues in Haxe 4 development builds - 7.0.0 (08/09/2018) ------------------ @@ -338,7 +350,6 @@ _releases are still supported when building Lime from the source._ * Fixed issue with AL.source3i types * Fixed support for iOS entitlements paths that include spaces - 6.4.0 (06/01/2018) ------------------ @@ -359,7 +370,6 @@ _releases are still supported when building Lime from the source._ * Fixed SWF font generation to limit kerning values to the SWF spec maximum * Fixed some cases where `HOME` environment variable might return `null` - 6.3.1 (05/11/2018) ------------------ @@ -367,7 +377,6 @@ _releases are still supported when building Lime from the source._ * Improved the output of `lime help` * Fixed the behavior of `` to behave like `` + `` - 6.3.0 (05/04/2018) ------------------ @@ -415,7 +424,6 @@ _releases are still supported when building Lime from the source._ * Fixed an issue using `Image.fromBase64` in ES6/NPM-based builds * Fixed disabling of vsync on native targets when not desired - 6.2.0 (02/16/2018) ------------------ @@ -430,7 +438,6 @@ _releases are still supported when building Lime from the source._ * Fixed letting the user focus outside a Lime embed when text input is enabled * Fixed `FileDialog.save` to require FileSaver.js when using CommonJS - 6.1.0 (02/07/2018) ------------------ @@ -451,13 +458,11 @@ _releases are still supported when building Lime from the source._ * Fixed support for builds on macOS/Linux when `$HOME` variable is not present * Fixed crash in continuous-testing when no window can be initialized - 6.0.1 (01/16/2018) ------------------ * Minor fix for `haxelib run openfl setup` command-line alias installation - 6.0.0 (01/15/2018) ------------------ @@ -481,13 +486,11 @@ _releases are still supported when building Lime from the source._ * Fixed a possible range error in `DataPointer` * Fixed a minor debug message when HXCPP "std" is statically linked - 5.9.1 (11/30/2017) ------------------ * Updated howler.js with minor fixes for IE11 and Firefox browsers - 5.9.0 (11/29/2017) ------------------ @@ -516,7 +519,6 @@ _releases are still supported when building Lime from the source._ * Fixed setting of "ios" and "android" project values when using AIR iOS/Android * Fixed handling of Haxe version output with newer Haxe development build - 5.8.2 (11/10/2017) ------------------ @@ -527,7 +529,6 @@ _releases are still supported when building Lime from the source._ * Improved `renderer.readPixels` on native platforms to allow transparency * Fixed the behavior of `` - 5.8.1 (11/06/2017) ------------------ @@ -539,7 +540,6 @@ _releases are still supported when building Lime from the source._ * Improved tools to print warning for unrecognized `` values * Fixed support for Adobe AIR where `nativeWindow` is `null` - 5.8.0 (10/24/2017) ------------------ @@ -560,7 +560,6 @@ _releases are still supported when building Lime from the source._ * Fixed support for `ANDROID_GRADLE_TASK` with command-line arguments * Fixed support for relative provisioning profile paths for AIR target - 5.7.1 (10/12/2017) ------------------ @@ -568,7 +567,6 @@ _releases are still supported when building Lime from the source._ * Improved native `HTTPRequest` to complete as error if response status is error * Fixed `HTTPRequest` to treat HTTP status code 400 as an error - 5.7.0 (10/10/2017) ------------------ @@ -591,7 +589,6 @@ _releases are still supported when building Lime from the source._ * Fixed `threadPool.onProgress` to dispatch in the proper foreground thread * Fixed native `HTTPRequest` to calculate timeout from when requests run - 5.6.0 (09/26/2017) ------------------ @@ -613,7 +610,6 @@ _releases are still supported when building Lime from the source._ * Fixed progress event update on HTML5 HTTPRequest uploads * Fixed `ImageHelper.resizeImage` to properly handle null parameters - 5.5.0 (09/12/2017) ------------------ @@ -633,7 +629,6 @@ _releases are still supported when building Lime from the source._ * Fixed support for `` on Android * Fixed minor issues caused by detecting some AWD files as text - 5.4.0 (08/25/2017) ------------------ @@ -652,7 +647,6 @@ _releases are still supported when building Lime from the source._ * Fixed UTF-8 `charCodeAt` when index is out of range * Fixed the `strength` property of `ImageDataUtils.gaussianBlur` - 5.3.0 (07/31/2017) ------------------ @@ -668,7 +662,6 @@ _releases are still supported when building Lime from the source._ * Fixed `lime create extension` to preserve `ANDROID_GRADLE_PLUGIN` variable * Fixed support for preloading fonts on Safari - 5.2.1 (06/21/2017) ------------------ @@ -676,7 +669,6 @@ _releases are still supported when building Lime from the source._ * Fixed case where HTML5 could preload sounds twice, unintentionally * Fixed support for compiling HTML5 -Dmodular builds - 5.2.0 (06/20/2017) ------------------ @@ -690,7 +682,6 @@ _releases are still supported when building Lime from the source._ * Fixed an issue with Node http-server resolving properly to localhost * Fixed support for `lime test linux -32` on 64-bit systems - 5.1.0 (06/07/2017) ------------------ @@ -716,7 +707,6 @@ _releases are still supported when building Lime from the source._ * Fixed semi-transparent fillRect on canvas-based Image * Fixed minor issues with cURL - 5.0.3 (05/24/2017) ------------------ @@ -727,20 +717,17 @@ _releases are still supported when building Lime from the source._ * Fixed support for uploading larger byte objects using HTTPRequest * Fixed support for config.rootPath - 5.0.2 (05/22/2017) ------------------ * Improved support for finding versioned haxelib path when using haxelib git - 5.0.1 (05/22/2017) ------------------ * Fixed an issue with PathHelper.getHaxelib outside of Lime tools * Fixed regressions in haxelib path resolution - 5.0.0 (05/19/2017) ------------------ @@ -764,7 +751,6 @@ _releases are still supported when building Lime from the source._ * Fixed support for >, <, >=, <= and == in XML "unless" attribute * Fixed complete exit on Android when using the back button - 4.1.0 (05/04/2017) ------------------ @@ -795,7 +781,6 @@ _releases are still supported when building Lime from the source._ * Fixed a dead-code-elimination issue in NativeHTTPRequest * Fixed the Android Gradle Plugin setting in the Lime extension template - 4.0.3 (03/28/2017) ------------------ @@ -804,7 +789,6 @@ _releases are still supported when building Lime from the source._ * Improved Image.loadFromBytes when bytes are not a known image type * Improved the performance of Image.fillRect in some cases - 4.0.2 (03/21/2017) ------------------ @@ -819,7 +803,6 @@ _releases are still supported when building Lime from the source._ * Fixed a mismatch between intptr_t and uintptr_t (affecting Android) * Fixed several Window properties when creating a new window without a config - 4.0.1 (03/17/2017) ------------------ @@ -832,7 +815,6 @@ _releases are still supported when building Lime from the source._ * Fixed missing bufferData API in WebGLContext * Fixed OpenGL bindings to return null OpenGL objects if an ID is zero - 4.0.0 (03/15/2017) ------------------ @@ -877,7 +859,6 @@ _releases are still supported when building Lime from the source._ * Fixed double dispatch of preloader complete verbose message * Fixed path of `-options` parameter when calling HXCPP - 3.7.4 (02/15/2017) ------------------ @@ -886,7 +867,6 @@ _releases are still supported when building Lime from the source._ * Added verbose log messages during asset library preload * Fixed crash on iOS when rewinding or looping sounds - 3.7.3 (02/13/2017) ------------------ @@ -902,7 +882,6 @@ _releases are still supported when building Lime from the source._ * Fixed filters and default file name in FileDialog * Fixed AudioBuffer.loadFromFile on native for remote assets - 3.7.2 (01/26/2017) ------------------ @@ -910,7 +889,6 @@ _releases are still supported when building Lime from the source._ * Improved the DPI values returned from display.dpi * Fixed "Update to Recommended Settings" message on Xcode 8.2 - 3.7.1 (01/25/2017) ------------------ @@ -918,7 +896,6 @@ _releases are still supported when building Lime from the source._ * Fixed minor issues with Flash Player preload logic * Fixed use of AudioBuffer in multiple native AudioSource instances - 3.7.0 (01/24/2017) ------------------ @@ -939,7 +916,6 @@ _releases are still supported when building Lime from the source._ * Fixed base path for assets loaded from non-default asset libraries * Fixed scale of mouse events dispatched for high-DPI HTML5 windows - 3.6.2 (01/20/2017) ------------------ @@ -948,7 +924,6 @@ _releases are still supported when building Lime from the source._ * Fixed possible font overflow when embedding fonts on Flash target * Fixed crash on Neko when using AudioSource with no AudioBuffer - 3.6.1 (01/18/2017) ------------------ @@ -957,7 +932,6 @@ _releases are still supported when building Lime from the source._ * Fixed a regression in support for static-linking * Fixed a regression in support for lime.utils.JNI - 3.6.0 (01/16/2017) ------------------ @@ -976,14 +950,13 @@ _releases are still supported when building Lime from the source._ * Fixed playback of a single audio buffer multiple times on HTML5 * Fixed initial volume level in AudioSource on HTML5 * Fixed a regression in the default architecture list for iOS -* Fixed merging of multiple tags in project files +* Fixed merging of multiple `` tags in project files * Fixed a possible crash when retrieving OpenGL strings * Fixed the default template for HTML5 when multiple projects are embedded * Fixed support for non-preloaded assets on HTML5 * Fixed support for image.copyChannel on HTML5 when using WebGL * Fixed support for command-line arguments with "lime rebuild" - 3.5.2 (12/19/2016) ------------------ @@ -993,7 +966,6 @@ _releases are still supported when building Lime from the source._ * Fixed an issue when merging multiple project.config values * Reverted bytes changes to resolve C++ GC issues - 3.5.1 (12/16/2016) ------------------ @@ -1013,7 +985,6 @@ _releases are still supported when building Lime from the source._ * Fixed support for `` * Fixed a regression with the quality of generated SVG icons - 3.5.0 (12/07/2016) ------------------ @@ -1050,14 +1021,12 @@ _releases are still supported when building Lime from the source._ * Fixed the behavior of Event.ACTIVATE when resuming on iOS * Fixed missing input event initially on HTML5 - 3.4.1 (11/01/2016) ------------------ * Fixed order of Assets.registerLibrary and app.onPreloaderComplete * Added a workaround for HAXE_STD_PATH error on -Dmodular - 3.4.0 (10/31/2016) ------------------ @@ -1087,7 +1056,6 @@ _releases are still supported when building Lime from the source._ * Fixed initial gain and position when playing HTML5 AudioSource sound * Fixed compatibility issues with current Haxe development versions - 3.3.0 (10/10/2016) ----------------- @@ -1114,13 +1082,11 @@ _releases are still supported when building Lime from the source._ * Fixed support for `` * Fixed Android compilation using debug - 3.2.1 (09/20/2016) ------------------ * Fixed an issue when GC was executed from another thread - 3.2.0 (09/19/2016) ------------------ @@ -1142,7 +1108,6 @@ _releases are still supported when building Lime from the source._ * Fixed the Android template for `lime create extension` * Corrected support for high DPI windows - 3.1.0 (08/29/2016) ------------------ @@ -1155,14 +1120,12 @@ _releases are still supported when building Lime from the source._ * Fixed support for System directories on Android * Fixed null fromBytes/fromImage conversion - 3.0.3 (07/27/2016) ------------------ * Improved "lime test flash -web" behavior to use HTTP server * Fixed an issue with Neko native byte resizing - 3.0.2 (07/22/2016) ------------------ @@ -1171,7 +1134,6 @@ _releases are still supported when building Lime from the source._ * Deprecated lime.utils.LZMA * Fixed issue where assets were not found on Linux - 3.0.1 (07/20/2016) ------------------ @@ -1180,7 +1142,6 @@ _releases are still supported when building Lime from the source._ * Fixed the name of generated folder for HTML5 output * Fixed support for OpenAL getSource3f - 3.0.0 (07/08/2016) ------------------ @@ -1206,7 +1167,6 @@ _releases are still supported when building Lime from the source._ * Fixed a crash in ExternalInterface * Fixed a case where displayInfo.currentMode is not active yet - 2.9.1 (03/28/2016) ------------------ @@ -1224,7 +1184,6 @@ _releases are still supported when building Lime from the source._ * Fixed the default company meta to be blank instead of a dummy value * Fixed the window position and size to update after fullscreen - 2.9.0 (01/22/2016) ------------------ @@ -1248,7 +1207,6 @@ _releases are still supported when building Lime from the source._ * Fixed support for window.display on scaled windows * Fixed a tool crash when using an unrecognized -armvX flag - 2.8.3 (01/02/2016) ------------------ @@ -1261,7 +1219,6 @@ _releases are still supported when building Lime from the source._ * Fixed a compile error when using `` and an empty path * Fixed the -notrace flag (to disable "trace" on "test" commands) - 2.8.2 (12/16/2015) ------------------ @@ -1278,7 +1235,6 @@ _releases are still supported when building Lime from the source._ * Updated ANGLE binaries to resolve ALT + Enter fullscreen issue * Fixed font paths on iOS (legacy) - 2.8.1 (12/09/2015) ------------------ @@ -1286,7 +1242,6 @@ _releases are still supported when building Lime from the source._ * Added support for optional haxelib references in XML * Fixed an issue with incorrect joystick IDs on connect - 2.8.0 (12/07/2015) ------------------ @@ -1303,7 +1258,6 @@ _releases are still supported when building Lime from the source._ * Fixed embed of runtime-generate asset files * Fixed default font paths on new versions of iOS (legacy) - 2.7.0 (10/28/2015) ------------------ @@ -1312,7 +1266,6 @@ _releases are still supported when building Lime from the source._ * Fixed an issue where Android applications would crash on unfound files * Updated the Neko template for Lime legacy builds - 2.6.9 (10/15/2015) ------------------ @@ -1325,7 +1278,6 @@ _releases are still supported when building Lime from the source._ * Made minor template updates * Fixed the default virtual keyboard type on BlackBerry (legacy) - 2.6.8 (10/05/2015) ------------------ @@ -1335,7 +1287,6 @@ _releases are still supported when building Lime from the source._ * Added JPEG and PNG encode support for HTML5 * Improved tooling support for tvOS builds - 2.6.7 (10/02/2015) ------------------ @@ -1346,14 +1297,12 @@ _releases are still supported when building Lime from the source._ * Fixed preload when the same asset is listed twice * Fixed an issue with importing lime.Assets in legacy builds - 2.6.6 (09/24/2015) ------------------ * Patch support for static C++ builds without use of HXCPP dev * Fixed a crash that could occur in Flixel 3.x - 2.6.5 (09/23/2015) ------------------ @@ -1365,7 +1314,6 @@ _releases are still supported when building Lime from the source._ * Fixed an issue with Image.fromBitmapData when using OpenFL * Fixed a minor issue with copyPixels on Firefox - 2.6.4 (09/21/2015) ------------------ @@ -1376,7 +1324,6 @@ _releases are still supported when building Lime from the source._ * Reduced "unreachable code" warnings in Firefox * Fixed iOS multitouch behavior (legacy) - 2.6.3 (09/19/2015) ------------------ @@ -1391,7 +1338,6 @@ _releases are still supported when building Lime from the source._ * Added an optimization for repeated Font path lookups * Improved support for non-US keyboard layouts (legacy) - 2.6.2 (09/08/2015) ------------------ @@ -1410,7 +1356,6 @@ _releases are still supported when building Lime from the source._ * Fixed dispatch of mouse events from touch on HTML5 * Added "onBackPressed" to Android extensions - 2.6.1 (08/26/2015) ------------------ @@ -1427,7 +1372,6 @@ _releases are still supported when building Lime from the source._ * Fixed missing callback in Assets.loadLibrary * Fixed multi-touch on iOS (legacy) - 2.6.0 (08/20/2015) ------------------ @@ -1446,7 +1390,6 @@ _releases are still supported when building Lime from the source._ * Fixed an unused reference in the Android template * Fixed "std@module_read" errors on Neko - 2.5.3 (08/13/2015) ------------------ @@ -1470,7 +1413,6 @@ _releases are still supported when building Lime from the source._ * Fixed support for lime.utils.Log * Fixed support for event.has - 2.5.2 (07/23/2015) ------------------ @@ -1480,7 +1422,6 @@ _releases are still supported when building Lime from the source._ * Improved color conversion support for Flash * Fixed issue preventing Neko from reading 32-bit integers correctly - 2.5.1 (07/21/2015) ------------------ @@ -1490,7 +1431,6 @@ _releases are still supported when building Lime from the source._ * Fixed an issue with Assets.loadImage on HTML5 * Fixed support for OpenAL playback using a starting offset - 2.5.0 (07/17/2015) ------------------ @@ -1507,7 +1447,6 @@ _releases are still supported when building Lime from the source._ * Quieted libpng "known incorrect profile" messages * Added a patch to allow Wii Remote detection (legacy) - 2.4.9 (07/13/2015) ------------------ @@ -1527,7 +1466,6 @@ _releases are still supported when building Lime from the source._ * Fixed use of cURL basic types as Int * Improved support for asynchronous SSL requests (legacy) - 2.4.8 (07/09/2015) ------------------ @@ -1539,13 +1477,11 @@ _releases are still supported when building Lime from the source._ * Fixed "lime rebuild ios" with some versions of HXCPP * Fixed mouse middle/right/wheel events on desktop (legacy) - 2.4.7 (07/06/2015) ------------------ * Fixed regression in HTML5 typed array support - 2.4.6 (07/06/2015) ------------------ @@ -1560,7 +1496,6 @@ _releases are still supported when building Lime from the source._ * Fixed a crash that could occur using cURL on Mac * Fixed static builds for the Mac target - 2.4.5 (07/02/2015) ------------------ @@ -1586,7 +1521,6 @@ _releases are still supported when building Lime from the source._ * Added screen resolution width/height for BlackBerry (legacy) * Fixed a possible overflow in the LZMA buffer (legacy) - 2.4.4 (06/08/2015) ------------------ @@ -1605,14 +1539,12 @@ _releases are still supported when building Lime from the source._ * Improved WAV format loading (legacy) * Fixed iswalpha crash on BlackBerry (legacy) - 2.4.3 (06/01/2015) ------------------ * Improved support for embedded fonts * Fixed regression when embedding certain OTF fonts - 2.4.2 (05/30/2015) ------------------ @@ -1629,7 +1561,6 @@ _releases are still supported when building Lime from the source._ * Minor fix to rectangle.transform * Fixed Windows Neko builds when not running on Windows - 2.4.1 (05/13/2015) ------------------ @@ -1638,7 +1569,6 @@ _releases are still supported when building Lime from the source._ * Fixed Emscripten rebuild * Fixed issue on the build server - 2.4.0 (05/12/2015) ------------------ @@ -1654,7 +1584,6 @@ _releases are still supported when building Lime from the source._ * Fixed a case where fonts might not be embedded * Fixed occasional crash with OpenAL on Neko - 2.3.3 (04/21/2015) ------------------ @@ -1667,7 +1596,6 @@ _releases are still supported when building Lime from the source._ * Fixed a possible crash in copyPixels * Improved accuracy of URLLoader progress - 2.3.2 (04/15/2015) ------------------ @@ -1681,7 +1609,6 @@ _releases are still supported when building Lime from the source._ * Fixed support for -Doptional-cffi * Fixed haxe.Timer (legacy) - 2.3.1 (04/08/2015) ------------------ @@ -1696,7 +1623,6 @@ _releases are still supported when building Lime from the source._ * Fixed crash when font or JPEG file paths are not found * Added softKeyboardRect support for iOS (legacy) - 2.3.0 (03/26/2015) ------------------ @@ -1715,7 +1641,6 @@ _releases are still supported when building Lime from the source._ * Fixed the ZipHelper for Haxe 3.2 * Fixed the -Dstats define for HTML5 builds - 2.2.2 (03/25/2015) ------------------ @@ -1726,7 +1651,6 @@ _releases are still supported when building Lime from the source._ * Improved System.getTimer to work without haxe.Timer * Fixed a crash when using GL.bufferData with zero-length data - 2.2.1 (03/21/2015) ------------------ @@ -1734,7 +1658,6 @@ _releases are still supported when building Lime from the source._ * Fixed ImageBuffer with newer HXCPP * Compile fix - 2.2.0 (03/20/2015) ------------------ @@ -1757,7 +1680,6 @@ _releases are still supported when building Lime from the source._ * Fixed -rebuild when using the Lime 2 desktop NDLL * Fixed "lime rebuild" when in the Lime directory - 2.1.3 (03/02/2015) ------------------ @@ -1778,7 +1700,6 @@ _releases are still supported when building Lime from the source._ * Patched support for Assets.loadSound on Flash target * Fixed a null check in lime_alc_open_device - 2.1.2 (02/20/2015) ------------------ @@ -1800,7 +1721,6 @@ _releases are still supported when building Lime from the source._ * Request focus in resume on Android, in case an extension has focus (legacy) * Added TILE_BLEND_SUBTRACT (legacy) - 2.1.1 (02/13/2015) ------------------ @@ -1808,7 +1728,6 @@ _releases are still supported when building Lime from the source._ * Fixed regression in HTML5 font asset embedding * Minor improvement to SWF embedding for Flash target - 2.1.0 (02/11/2015) ------------------ @@ -1833,7 +1752,6 @@ _releases are still supported when building Lime from the source._ * Fixed textField.setTextFormat with different font (legacy) * Fixed crash in Capabilities.language on iOS (legacy) - 2.0.6 (01/22/2015) ------------------ @@ -1851,7 +1769,6 @@ _releases are still supported when building Lime from the source._ * Fixed crash in BitmapData rendering (legacy) * Fixed rotation of TextField instances (legacy) - 2.0.5 (01/13/2015) ------------------ @@ -1875,7 +1792,6 @@ _releases are still supported when building Lime from the source._ * Fixed a crash in iOS Capabilities.language (legacy) * Added bitmapData.merge support (legacy) - 2.0.4 (12/31/2014) ------------------ @@ -1889,7 +1805,6 @@ _releases are still supported when building Lime from the source._ * Improved default context menu behavior on Flash/OpenFL * Improved fixed orientation support on iOS (legacy) - 2.0.3 (12/27/2014) ------------------ @@ -1898,7 +1813,6 @@ _releases are still supported when building Lime from the source._ * Fixed exit code behavior when calling HXCPP * Fixed minor issues with "lime rebuild tools" - 2.0.2 (12/21/2014) ------------------ @@ -1920,7 +1834,6 @@ _releases are still supported when building Lime from the source._ * Fixed Android x86 builds (legacy) * Fixed TextField leading (legacy) - 2.0.1 (12/04/2014) ------------------ @@ -1930,7 +1843,6 @@ _releases are still supported when building Lime from the source._ * Changed Firefox to type WEB instead of MOBILE * Fixed HTML5 touch event coordinates - 2.0.0 (11/20/2014) ------------------ @@ -1944,7 +1856,6 @@ _releases are still supported when building Lime from the source._ * Made fixes to support the newer Blackberry SDK * Fixed GraphicsPath on Neko (legacy) - 2.0.0-beta (11/13/2014) ----------------------- @@ -1957,7 +1868,6 @@ _releases are still supported when building Lime from the source._ * Improved $variable handling in project parsing * Other minor fixes - 2.0.0-alpha.8 (11/08/2014) -------------------------- @@ -1965,7 +1875,6 @@ _releases are still supported when building Lime from the source._ * Fixed discovery of Java install on OS X * Omitting Android force downgrade on old devices - 2.0.0-alpha.7 (11/01/2014) -------------------------- @@ -1976,7 +1885,6 @@ _releases are still supported when building Lime from the source._ * Fixed and documented the "-args" tool flag * Added the force downgrade argument when installing on Android - 2.0.0-alpha.6 (10/28/2014) -------------------------- @@ -1986,7 +1894,6 @@ _releases are still supported when building Lime from the source._ * Improved "isText" file detection * Fixed loading of type BINARY files as TEXT - 2.0.0-alpha.5 (10/23/2014) -------------------------- @@ -1996,7 +1903,6 @@ _releases are still supported when building Lime from the source._ * Improved the handling of font family name detection * Minor fixes - 2.0.0-alpha.4 (10/21/2014) -------------------------- @@ -2004,7 +1910,6 @@ _releases are still supported when building Lime from the source._ * Improved the `` data system * Enabled splash screen generation for iOS again - 2.0.0-alpha.3 (10/20/2014) -------------------------- @@ -2018,7 +1923,6 @@ _releases are still supported when building Lime from the source._ * Improvements to `` tag merging * Added Tilesheet TILE_RECT support (legacy) - 2.0.0-alpha.2 (10/16/2014) -------------------------- @@ -2045,7 +1949,6 @@ _releases are still supported when building Lime from the source._ * Fixed null data in URLLoader on Neko (legacy) * Added a dead zone filter for joystick events (legacy) - 2.0.0-alpha (10/14/2014) ------------------------ @@ -2066,18 +1969,15 @@ _releases are still supported when building Lime from the source._ * Made the asset library system more flexible * Many other tool improvements - 1.0.1 (06/24/2014) ------------------ * Fixed BlackBerry support * Fixed a memory leak when using LZMA decoding - 1.0.0 (05/29/2014) ----------------- - 0.9.9 (05/28/2014) ----------------- @@ -2086,7 +1986,6 @@ _releases are still supported when building Lime from the source._ * Silenced "missing NDLL" warning when not in -verbose mode * Added "-nocolor" option - 0.9.8 (05/27/2014) ------------------ @@ -2099,7 +1998,6 @@ _releases are still supported when building Lime from the source._ * Added support for custom user agents in URL requests * Other minor fixes - 0.9.7 (04/22/2014) ------------------ @@ -2116,7 +2014,6 @@ _releases are still supported when building Lime from the source._ * Fixed support for BWF wave files * Fixed color order for PNG encoding - 0.9.6 (03/18/2014) ------------------ @@ -2129,7 +2026,6 @@ _releases are still supported when building Lime from the source._ * Improved support for looping audio * Minor fixes - 0.9.5 (03/04/2014) ------------------ @@ -2137,7 +2033,7 @@ _releases are still supported when building Lime from the source._ * Fixed cURL to support larger header sizes * Updated the SDL2 backend to support initialization without AA if not supported * Added support for Android "immersive mode" -* Improved default _sans, _serif and _typewriter font matching for Mac and iOS +* Improved default \_sans, \_serif and \_typewriter font matching for Mac and iOS * Multiple improvements to Android JNI support * Added "count" support for drawTiles rendering * Optimized renderer to perform more with a single draw array @@ -2153,8 +2049,7 @@ _releases are still supported when building Lime from the source._ * Keyboard event support on Tizen * Resolved rare issue when loading BitmapData from bytes * Minor fixes for Emscripten -* Updated for automated builds: http://openfl.org/builds/lime - +* Updated for automated builds: 0.9.4 (01/27/2014) ------------------ @@ -2162,7 +2057,6 @@ _releases are still supported when building Lime from the source._ * Fixed support for 8-bit PNG images with alpha * Fixed software fallback for certain older cards - 0.9.3 (01/22/2014) ------------------ @@ -2171,14 +2065,12 @@ _releases are still supported when building Lime from the source._ * Fixed crash in ColorMatrixFilter * Fixed GL drawArrays issue on desktop - 0.9.2 (12/31/2013) ------------------ * Fixed Tizen storage directory * Fixed support for Emscripten - 0.9.1 (12/18/2013) ------------------ @@ -2186,7 +2078,6 @@ _releases are still supported when building Lime from the source._ * Improved performance when loading OGG samples in memory * Added support for the Tizen emulator - 0.9.0 (12/10/2013) ------------------ @@ -2195,4 +2086,3 @@ _releases are still supported when building Lime from the source._ * Android JNI improvements * Add OpenGL context lost/restored events * Fixed support for Android OpenAL audio - From 4232a9fa52615e4a35c9888fd542d3799011c566 Mon Sep 17 00:00:00 2001 From: player-03 Date: Tue, 7 Feb 2023 19:25:35 -0500 Subject: [PATCH 36/42] Use v3 of `checkout` and `upload-artifact`. Version 2 of these actions seems to rely on deprecated features. We might be able to leave `download-artifact`, but it seems best to keep it in sync. --- .github/workflows/main.yml | 84 +++++++++++++++++++------------------- 1 file changed, 42 insertions(+), 42 deletions(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 88500f5a6..b5082c4ea 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -10,7 +10,7 @@ jobs: haxe-version: [3.4.7, 4.0.5, 4.1.5, 4.2.5] steps: - - uses: actions/checkout@v2 + - uses: actions/checkout@v3 with: submodules: true @@ -49,7 +49,7 @@ jobs: lime rebuild linux -64 -release -nocolor -verbose -nocffi lime rebuild hl -clean -release -nocolor -verbose -nocffi - - uses: actions/upload-artifact@v2 + - uses: actions/upload-artifact@v3 if: ${{ matrix.haxe-version == '4.2.5' }} # upload for only one version of Haxe with: name: Linux-NDLL @@ -58,7 +58,7 @@ jobs: !**/.gitignore if-no-files-found: error - - uses: actions/upload-artifact@v2 + - uses: actions/upload-artifact@v3 if: ${{ matrix.haxe-version == '4.2.5' }} # upload for only one version of Haxe with: name: Linux64-NDLL @@ -67,7 +67,7 @@ jobs: !**/.gitignore if-no-files-found: error - - uses: actions/upload-artifact@v2 + - uses: actions/upload-artifact@v3 if: ${{ matrix.haxe-version == '4.2.5' }} # upload for only one version of Haxe with: name: Linux64-Hashlink @@ -79,7 +79,7 @@ jobs: runs-on: macos-11 steps: - - uses: actions/checkout@v2 + - uses: actions/checkout@v3 with: submodules: true @@ -120,7 +120,7 @@ jobs: lime rebuild macos -clean -release -64 -nocolor -verbose -nocffi lime rebuild hl -clean -release -nocolor -verbose -nocffi - - uses: actions/upload-artifact@v2 + - uses: actions/upload-artifact@v3 with: name: Mac64-NDLL path: | @@ -128,7 +128,7 @@ jobs: !**/.gitignore if-no-files-found: error - - uses: actions/upload-artifact@v2 + - uses: actions/upload-artifact@v3 with: name: Mac64-Hashlink path: | @@ -139,7 +139,7 @@ jobs: runs-on: windows-latest steps: - - uses: actions/checkout@v2 + - uses: actions/checkout@v3 with: submodules: true @@ -173,7 +173,7 @@ jobs: lime rebuild windows -64 -release -nocolor -verbose -nocffi lime rebuild hl -clean -release -nocolor -verbose -nocffi - - uses: actions/upload-artifact@v2 + - uses: actions/upload-artifact@v3 with: name: Windows-NDLL path: | @@ -181,7 +181,7 @@ jobs: !**/.gitignore if-no-files-found: error - - uses: actions/upload-artifact@v2 + - uses: actions/upload-artifact@v3 with: name: Windows64-NDLL path: | @@ -189,13 +189,13 @@ jobs: !**/.gitignore if-no-files-found: error - # - uses: actions/upload-artifact@v2 + # - uses: actions/upload-artifact@v3 # with: # name: Windows-Hashlink # path: | # templates/bin/hl/Windows # if-no-files-found: error - - uses: actions/upload-artifact@v2 + - uses: actions/upload-artifact@v3 with: name: Windows64-Hashlink path: | @@ -207,7 +207,7 @@ jobs: runs-on: macos-11 steps: - - uses: actions/checkout@v2 + - uses: actions/checkout@v3 with: submodules: true @@ -245,7 +245,7 @@ jobs: haxelib run lime rebuild tools -nocolor -verbose -nocffi haxelib run lime setup -alias -y -nocffi - - uses: actions/download-artifact@v2 + - uses: actions/download-artifact@v3 with: name: Mac64-NDLL path: ndll/Mac64/ @@ -262,7 +262,7 @@ jobs: run: | lime rebuild android -release -nocolor -verbose -nocffi - - uses: actions/upload-artifact@v2 + - uses: actions/upload-artifact@v3 with: name: Android-NDLL path: | @@ -275,7 +275,7 @@ jobs: runs-on: macos-11 steps: - - uses: actions/checkout@v2 + - uses: actions/checkout@v3 with: submodules: true @@ -303,7 +303,7 @@ jobs: haxelib run lime rebuild tools -nocolor -verbose -nocffi haxelib run lime setup -alias -y -nocffi - - uses: actions/download-artifact@v2 + - uses: actions/download-artifact@v3 with: name: Mac64-NDLL path: ndll/Mac64/ @@ -312,7 +312,7 @@ jobs: run: | lime rebuild ios -clean -release -verbose -nocolor - - uses: actions/upload-artifact@v2 + - uses: actions/upload-artifact@v3 with: name: iPhone-NDLL path: | @@ -325,7 +325,7 @@ jobs: runs-on: macos-11 steps: - - uses: actions/checkout@v2 + - uses: actions/checkout@v3 with: submodules: true @@ -353,62 +353,62 @@ jobs: haxelib run lime rebuild tools -nocolor -verbose -nocffi haxelib run lime setup -alias -y -nocffi cp project/lib/hashlink/other/osx/entitlements.xml templates/bin/hl/entitlements.xml - - uses: actions/download-artifact@v2 + - uses: actions/download-artifact@v3 with: name: Android-NDLL path: ndll/Android/ - - uses: actions/download-artifact@v2 + - uses: actions/download-artifact@v3 with: name: iPhone-NDLL path: ndll/iPhone/ - - uses: actions/download-artifact@v2 + - uses: actions/download-artifact@v3 with: name: Linux-NDLL path: ndll/Linux/ - - uses: actions/download-artifact@v2 + - uses: actions/download-artifact@v3 with: name: Linux64-NDLL path: ndll/Linux64/ - - uses: actions/download-artifact@v2 + - uses: actions/download-artifact@v3 with: name: Mac64-NDLL path: ndll/Mac64/ - - uses: actions/download-artifact@v2 + - uses: actions/download-artifact@v3 with: name: Windows-NDLL path: ndll/Windows/ - - uses: actions/download-artifact@v2 + - uses: actions/download-artifact@v3 with: name: Windows64-NDLL path: ndll/Windows64/ - # - uses: actions/download-artifact@v2 + # - uses: actions/download-artifact@v3 # with: # name: Windows-Hashlink # path: templates/bin/hl/Windows - - uses: actions/download-artifact@v2 + - uses: actions/download-artifact@v3 with: name: Windows64-Hashlink path: templates/bin/hl/Windows64 - - uses: actions/download-artifact@v2 + - uses: actions/download-artifact@v3 with: name: Mac64-Hashlink path: templates/bin/hl/Mac64 - - uses: actions/download-artifact@v2 + - uses: actions/download-artifact@v3 with: name: Linux64-Hashlink path: templates/bin/hl/Linux64 - - uses: actions/upload-artifact@v2 + - uses: actions/upload-artifact@v3 with: name: lime-haxelib path: | @@ -423,7 +423,7 @@ jobs: runs-on: macos-11 steps: - - uses: actions/checkout@v2 + - uses: actions/checkout@v3 with: submodules: true @@ -445,7 +445,7 @@ jobs: run: | haxe build.hxml - - uses: actions/upload-artifact@v2 + - uses: actions/upload-artifact@v3 with: name: lime-docs path: docs/pages @@ -485,7 +485,7 @@ jobs: run: | echo "HXCPP_COMPILE_CACHE=~/.hxcpp" >> $GITHUB_ENV - - uses: actions/download-artifact@v2 + - uses: actions/download-artifact@v3 with: name: lime-haxelib path: lime-haxelib @@ -532,7 +532,7 @@ jobs: run: | haxelib git lime-samples https://github.com/openfl/lime-samples --quiet - - uses: actions/download-artifact@v2 + - uses: actions/download-artifact@v3 with: name: lime-haxelib path: lime-haxelib @@ -599,7 +599,7 @@ jobs: run: | echo "HXCPP_COMPILE_CACHE=~/.hxcpp" >> $GITHUB_ENV - - uses: actions/download-artifact@v2 + - uses: actions/download-artifact@v3 with: name: lime-haxelib path: lime-haxelib @@ -638,7 +638,7 @@ jobs: run: | haxelib git lime-samples https://github.com/openfl/lime-samples --quiet - - uses: actions/download-artifact@v2 + - uses: actions/download-artifact@v3 with: name: lime-haxelib path: lime-haxelib @@ -684,7 +684,7 @@ jobs: run: | echo "HXCPP_COMPILE_CACHE=~/.hxcpp" >> $GITHUB_ENV - - uses: actions/download-artifact@v2 + - uses: actions/download-artifact@v3 with: name: lime-haxelib path: lime-haxelib @@ -735,7 +735,7 @@ jobs: run: | echo "HXCPP_COMPILE_CACHE=~/.hxcpp" >> $GITHUB_ENV - - uses: actions/download-artifact@v2 + - uses: actions/download-artifact@v3 with: name: lime-haxelib path: lime-haxelib @@ -781,7 +781,7 @@ jobs: run: | echo "HXCPP_COMPILE_CACHE=~/.hxcpp" >> $GITHUB_ENV - - uses: actions/download-artifact@v2 + - uses: actions/download-artifact@v3 with: name: lime-haxelib path: lime-haxelib @@ -848,7 +848,7 @@ jobs: run: | echo "HXCPP_COMPILE_CACHE=~/.hxcpp" >> $GITHUB_ENV - - uses: actions/download-artifact@v2 + - uses: actions/download-artifact@v3 with: name: lime-haxelib path: lime-haxelib @@ -894,7 +894,7 @@ jobs: run: | echo "HXCPP_COMPILE_CACHE=C:\.hxcpp" >> $Env:GITHUB_ENV - - uses: actions/download-artifact@v2 + - uses: actions/download-artifact@v3 with: name: lime-haxelib path: lime-haxelib From bca5a33ac281a1c59dd7333e47e500927a4299f3 Mon Sep 17 00:00:00 2001 From: player-03 Date: Tue, 7 Feb 2023 16:20:42 -0500 Subject: [PATCH 37/42] Use Ubuntu 20 for testing. GitHub has officially begun to drop Ubuntu 18.04 support, causing workflows to fail. --- .github/workflows/main.yml | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index b5082c4ea..cb194f38b 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -4,7 +4,7 @@ on: [push, pull_request] jobs: linux-ndll: - runs-on: ubuntu-18.04 + runs-on: ubuntu-20.04 strategy: matrix: haxe-version: [3.4.7, 4.0.5, 4.1.5, 4.2.5] @@ -558,7 +558,8 @@ jobs: needs: package-haxelib strategy: matrix: - os: [ubuntu-18.04, macos-11, windows-latest] + os: [ubuntu-20.04 + , macos-11, windows-latest] runs-on: ${{ matrix.os }} steps: @@ -708,7 +709,7 @@ jobs: linux-samples: needs: package-haxelib - runs-on: ubuntu-18.04 + runs-on: ubuntu-20.04 steps: - name: Install system dependencies @@ -807,7 +808,7 @@ jobs: needs: package-haxelib strategy: matrix: - os: [ubuntu-18.04, macos-11, windows-latest] + os: [ubuntu-20.04, macos-11, windows-latest] runs-on: ${{ matrix.os }} steps: @@ -917,7 +918,7 @@ jobs: lime build SimpleAudio windows -release -verbose -nocolor notify: - runs-on: ubuntu-18.04 + runs-on: ubuntu-20.04 needs: [package-haxelib, docs, android-samples, flash-samples, hashlink-samples, html5-samples, ios-samples, linux-samples, macos-samples, neko-samples, windows-samples] if: ${{ github.repository == 'openfl/lime' && github.event_name != 'pull_request' }} steps: From fa49cf1a2ac672c99ed3c8f9478d85892e286712 Mon Sep 17 00:00:00 2001 From: Josh Tynjala Date: Tue, 21 Feb 2023 10:42:49 -0800 Subject: [PATCH 38/42] haxelib.json: release note --- haxelib.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/haxelib.json b/haxelib.json index a64155269..67ead3f7f 100644 --- a/haxelib.json +++ b/haxelib.json @@ -5,7 +5,7 @@ "tags": [], "description": "A foundational Haxe framework for cross-platform development", "version": "8.0.1", - "releasenote": "Update HashLink, iOS and Android build fixes, and ongoing improvements", + "releasenote": "Various bug fixes", "contributors": [ "singmajesty", "bowlerhat", From 589712e29ffc71ec3020a769dad84d0b21cfa59b Mon Sep 17 00:00:00 2001 From: Josh Tynjala Date: Wed, 15 Mar 2023 14:50:47 -0700 Subject: [PATCH 39/42] ApplicationMain: ensure that AIR window initial title is populated Was incorrectly being set to Lime Application instead --- templates/haxe/ApplicationMain.hx | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/templates/haxe/ApplicationMain.hx b/templates/haxe/ApplicationMain.hx index 120961ac3..2221f3719 100644 --- a/templates/haxe/ApplicationMain.hx +++ b/templates/haxe/ApplicationMain.hx @@ -90,11 +90,11 @@ import ::APP_MAIN::; app.createWindow(attributes); ::end:: - #elseif !air - + #elseif air + app.window.title = "::meta.title::"; + #else app.window.context.attributes.background = ::WIN_BACKGROUND::; app.window.frameRate = ::WIN_FPS::; - #end #end From 4105b97fc85843e9831ff50b7f69c63bfb3cf1d0 Mon Sep 17 00:00:00 2001 From: Josh Tynjala Date: Wed, 15 Mar 2023 15:03:29 -0700 Subject: [PATCH 40/42] Window: save the initial title from WindowAttributes If not saved, the title getter will return the wrong value --- src/lime/ui/Window.hx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/lime/ui/Window.hx b/src/lime/ui/Window.hx index edd662ced..b728ce91d 100644 --- a/src/lime/ui/Window.hx +++ b/src/lime/ui/Window.hx @@ -153,7 +153,7 @@ class Window __scale = 1; __x = 0; __y = 0; - __title = ""; + __title = Reflect.hasField(__attributes, "title") ? __attributes.title : ""; id = -1; __backend = new WindowBackend(this); From 0160c1231130bba8c80e7ac24cd5cb6e14df432b Mon Sep 17 00:00:00 2001 From: Josh Tynjala Date: Thu, 16 Mar 2023 08:34:58 -0700 Subject: [PATCH 41/42] Window: visible property to show and hide window --- project/include/ui/Window.h | 1 + project/src/ExternalInterface.cpp | 18 ++++++++++++++++++ project/src/backend/sdl/SDLWindow.cpp | 17 +++++++++++++++++ project/src/backend/sdl/SDLWindow.h | 1 + .../_internal/backend/flash/FlashWindow.hx | 5 +++++ .../_internal/backend/html5/HTML5Window.hx | 5 +++++ .../_internal/backend/native/NativeCFFI.hx | 10 ++++++++++ .../_internal/backend/native/NativeWindow.hx | 12 ++++++++++++ src/lime/ui/Window.hx | 14 ++++++++++++++ 9 files changed, 83 insertions(+) diff --git a/project/include/ui/Window.h b/project/include/ui/Window.h index 11b76622f..dc4146142 100644 --- a/project/include/ui/Window.h +++ b/project/include/ui/Window.h @@ -61,6 +61,7 @@ namespace lime { virtual void SetTextInputEnabled (bool enable) = 0; virtual void SetTextInputRect (Rectangle *rect) = 0; virtual const char* SetTitle (const char* title) = 0; + virtual bool SetVisible (bool visible) = 0; virtual void WarpMouse (int x, int y) = 0; Application* currentApplication; diff --git a/project/src/ExternalInterface.cpp b/project/src/ExternalInterface.cpp index d32bb2ef6..de8c285a1 100644 --- a/project/src/ExternalInterface.cpp +++ b/project/src/ExternalInterface.cpp @@ -3761,6 +3761,22 @@ namespace lime { } + bool lime_window_set_visible (value window, bool visible) { + + Window* targetWindow = (Window*)val_data (window); + return targetWindow->SetVisible (visible); + + } + + + HL_PRIM bool HL_NAME(hl_window_set_visible) (HL_CFFIPointer* window, bool visible) { + + Window* targetWindow = (Window*)window->ptr; + return targetWindow->SetVisible (visible); + + } + + void lime_window_warp_mouse (value window, int x, int y) { Window* targetWindow = (Window*)val_data (window); @@ -3982,6 +3998,7 @@ namespace lime { DEFINE_PRIME2v (lime_window_set_text_input_enabled); DEFINE_PRIME2v (lime_window_set_text_input_rect); DEFINE_PRIME2 (lime_window_set_title); + DEFINE_PRIME2 (lime_window_set_visible); DEFINE_PRIME3v (lime_window_warp_mouse); DEFINE_PRIME1 (lime_window_get_opacity); DEFINE_PRIME2v (lime_window_set_opacity); @@ -4168,6 +4185,7 @@ namespace lime { DEFINE_HL_PRIM (_VOID, hl_window_set_text_input_enabled, _TCFFIPOINTER _BOOL); DEFINE_HL_PRIM (_VOID, hl_window_set_text_input_rect, _TCFFIPOINTER _TRECTANGLE); DEFINE_HL_PRIM (_STRING, hl_window_set_title, _TCFFIPOINTER _STRING); + DEFINE_HL_PRIM (_VOID, hl_window_set_visible, _TCFFIPOINTER _BOOL); DEFINE_HL_PRIM (_VOID, hl_window_warp_mouse, _TCFFIPOINTER _I32 _I32); DEFINE_HL_PRIM (_F64, hl_window_get_opacity, _TCFFIPOINTER); DEFINE_HL_PRIM (_VOID, hl_window_set_opacity, _TCFFIPOINTER _F64); diff --git a/project/src/backend/sdl/SDLWindow.cpp b/project/src/backend/sdl/SDLWindow.cpp index 6709ca036..871c2e7ec 100644 --- a/project/src/backend/sdl/SDLWindow.cpp +++ b/project/src/backend/sdl/SDLWindow.cpp @@ -358,6 +358,23 @@ namespace lime { } + bool SDLWindow::SetVisible (bool visible) { + + if (visible) { + + SDL_ShowWindow (sdlWindow); + + } else { + + SDL_HideWindow (sdlWindow); + + } + + return (SDL_GetWindowFlags (sdlWindow) & SDL_WINDOW_SHOWN); + + } + + void SDLWindow::ContextFlip () { if (context && !sdlRenderer) { diff --git a/project/src/backend/sdl/SDLWindow.h b/project/src/backend/sdl/SDLWindow.h index e047076c2..e66569f9c 100644 --- a/project/src/backend/sdl/SDLWindow.h +++ b/project/src/backend/sdl/SDLWindow.h @@ -55,6 +55,7 @@ namespace lime { virtual void SetTextInputEnabled (bool enabled); virtual void SetTextInputRect (Rectangle *rect); virtual const char* SetTitle (const char* title); + virtual bool SetVisible (bool visible); virtual void WarpMouse (int x, int y); SDL_Renderer* sdlRenderer; SDL_Texture* sdlTexture; diff --git a/src/lime/_internal/backend/flash/FlashWindow.hx b/src/lime/_internal/backend/flash/FlashWindow.hx index ca155992a..2d3988e5c 100644 --- a/src/lime/_internal/backend/flash/FlashWindow.hx +++ b/src/lime/_internal/backend/flash/FlashWindow.hx @@ -640,5 +640,10 @@ class FlashWindow return value; } + public function setVisible(value:Bool):Bool + { + return value; + } + public function warpMouse(x:Int, y:Int):Void {} } diff --git a/src/lime/_internal/backend/html5/HTML5Window.hx b/src/lime/_internal/backend/html5/HTML5Window.hx index 39abe5d7b..636275a5f 100644 --- a/src/lime/_internal/backend/html5/HTML5Window.hx +++ b/src/lime/_internal/backend/html5/HTML5Window.hx @@ -1231,6 +1231,11 @@ class HTML5Window return value; } + public function setVisible(value:Bool):Bool + { + return value; + } + private function updateSize():Void { if (!parent.__resizable) return; diff --git a/src/lime/_internal/backend/native/NativeCFFI.hx b/src/lime/_internal/backend/native/NativeCFFI.hx index b31af6e62..6372a96bc 100644 --- a/src/lime/_internal/backend/native/NativeCFFI.hx +++ b/src/lime/_internal/backend/native/NativeCFFI.hx @@ -349,6 +349,8 @@ class NativeCFFI @:cffi private static function lime_window_set_title(handle:Dynamic, title:String):Dynamic; + @:cffi private static function lime_window_set_visible(handle:Dynamic, visible:Bool):Bool; + @:cffi private static function lime_window_warp_mouse(handle:Dynamic, x:Int, y:Int):Void; @:cffi private static function lime_window_event_manager_register(callback:Dynamic, eventObject:Dynamic):Void; @@ -606,6 +608,8 @@ class NativeCFFI "lime_window_set_text_input_rect", "oov", false)); private static var lime_window_set_title = new cpp.CallableString->cpp.Object>(cpp.Prime._loadPrime("lime", "lime_window_set_title", "oso", false)); + private static var lime_window_set_visible = new cpp.CallableBool->Bool>(cpp.Prime._loadPrime("lime", "lime_window_set_visible", "obb", + false)); private static var lime_window_warp_mouse = new cpp.CallableInt->Int->cpp.Object>(cpp.Prime._loadPrime("lime", "lime_window_warp_mouse", "oiiv", false)); private static var lime_window_event_manager_register = new cpp.Callablecpp.Object->cpp.Void>(cpp.Prime._loadPrime("lime", @@ -762,6 +766,7 @@ class NativeCFFI private static var lime_window_set_text_input_enabled = CFFI.load("lime", "lime_window_set_text_input_enabled", 2); private static var lime_window_set_text_input_rect = CFFI.load("lime", "lime_window_set_text_input_rect", 2); private static var lime_window_set_title = CFFI.load("lime", "lime_window_set_title", 2); + private static var lime_window_set_visible = CFFI.load("lime", "lime_window_set_visible", 2); private static var lime_window_warp_mouse = CFFI.load("lime", "lime_window_warp_mouse", 3); private static var lime_window_event_manager_register = CFFI.load("lime", "lime_window_event_manager_register", 2); private static var lime_zlib_compress = CFFI.load("lime", "lime_zlib_compress", 2); @@ -1364,6 +1369,11 @@ class NativeCFFI return null; } + @:hlNative("lime", "hl_window_set_visible") private static function lime_window_set_visible(handle:CFFIPointer, visible:Bool):Bool + { + return false; + } + @:hlNative("lime", "hl_window_warp_mouse") private static function lime_window_warp_mouse(handle:CFFIPointer, x:Int, y:Int):Void {} @:hlNative("lime", "hl_window_get_opacity") private static function lime_window_get_opacity(handle:CFFIPointer):Float { return 0.0; } diff --git a/src/lime/_internal/backend/native/NativeWindow.hx b/src/lime/_internal/backend/native/NativeWindow.hx index 08b3079de..4b0e94253 100644 --- a/src/lime/_internal/backend/native/NativeWindow.hx +++ b/src/lime/_internal/backend/native/NativeWindow.hx @@ -679,6 +679,18 @@ class NativeWindow return value; } + public function setVisible(value:Bool):Bool + { + if (handle != null) + { + #if (!macro && lime_cffi) + NativeCFFI.lime_window_set_visible(handle, value); + #end + } + + return value; + } + public function warpMouse(x:Int, y:Int):Void { #if (!macro && lime_cffi) diff --git a/src/lime/ui/Window.hx b/src/lime/ui/Window.hx index b728ce91d..177214835 100644 --- a/src/lime/ui/Window.hx +++ b/src/lime/ui/Window.hx @@ -89,6 +89,7 @@ class Window #end public var textInputEnabled(get, set):Bool; public var title(get, set):String; + public var visible(get, set):Bool; public var width(get, set):Int; public var x(get, set):Int; public var y(get, set):Int; @@ -109,6 +110,7 @@ class Window @:noCompletion private var __resizable:Bool; @:noCompletion private var __scale:Float; @:noCompletion private var __title:String; + @:noCompletion private var __visible:Bool; @:noCompletion private var __width:Int; @:noCompletion private var __x:Int; @:noCompletion private var __y:Int; @@ -133,6 +135,7 @@ class Window "scale": {get: p.get_scale}, "textInputEnabled": {get: p.get_textInputEnabled, set: p.set_textInputEnabled}, "title": {get: p.get_title, set: p.set_title}, + "visible": {get: p.get_visible, set: p.set_visible}, "width": {get: p.get_width, set: p.set_width}, "x": {get: p.get_x, set: p.set_y}, "y": {get: p.get_x, set: p.set_y} @@ -576,6 +579,17 @@ class Window return __title = __backend.setTitle(value); } + @:noCompletion private inline function get_visible():Bool + { + return __visible; + } + + @:noCompletion private function set_visible(value:Bool):Bool + { + __visible = __backend.setVisible(value); + return __visible; + } + @:noCompletion private inline function get_width():Int { return __width; From 33c8a79dddd20ab99f1f8762fc420b9a225b39bc Mon Sep 17 00:00:00 2001 From: Josh Tynjala Date: Thu, 16 Mar 2023 09:36:08 -0700 Subject: [PATCH 42/42] ExternalInterface: fix lime_window_set_visible on HL (wrong signature) --- project/src/ExternalInterface.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/project/src/ExternalInterface.cpp b/project/src/ExternalInterface.cpp index de8c285a1..298a55316 100644 --- a/project/src/ExternalInterface.cpp +++ b/project/src/ExternalInterface.cpp @@ -4185,7 +4185,7 @@ namespace lime { DEFINE_HL_PRIM (_VOID, hl_window_set_text_input_enabled, _TCFFIPOINTER _BOOL); DEFINE_HL_PRIM (_VOID, hl_window_set_text_input_rect, _TCFFIPOINTER _TRECTANGLE); DEFINE_HL_PRIM (_STRING, hl_window_set_title, _TCFFIPOINTER _STRING); - DEFINE_HL_PRIM (_VOID, hl_window_set_visible, _TCFFIPOINTER _BOOL); + DEFINE_HL_PRIM (_BOOL, hl_window_set_visible, _TCFFIPOINTER _BOOL); DEFINE_HL_PRIM (_VOID, hl_window_warp_mouse, _TCFFIPOINTER _I32 _I32); DEFINE_HL_PRIM (_F64, hl_window_get_opacity, _TCFFIPOINTER); DEFINE_HL_PRIM (_VOID, hl_window_set_opacity, _TCFFIPOINTER _F64);