From 95e63398c871f9c280db41dce064a4fc65b91186 Mon Sep 17 00:00:00 2001 From: Josh Tynjala Date: Thu, 5 Jun 2025 08:48:21 -0700 Subject: [PATCH 01/13] CommandLineTools: fix ability to specify in project with local .haxelib directory If the version of Lime tools doesn't match the version of Lime specified by , and Lime is found in .haxelib, append the -nolocalrepocheck option to avoid redundantly checking for .haxelib again and potentially comparing to a path resolved without accounting for yet. --- tools/CommandLineTools.hx | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/tools/CommandLineTools.hx b/tools/CommandLineTools.hx index e3cb7b447..ea960923c 100644 --- a/tools/CommandLineTools.hx +++ b/tools/CommandLineTools.hx @@ -1825,6 +1825,13 @@ class CommandLineTools args.push("-notoolscheck"); + var projectDirectory = Path.directory(projectFile); + var localRepository = Path.combine(projectDirectory, ".haxelib"); + if (FileSystem.exists(localRepository) && FileSystem.isDirectory(localRepository) && StringTools.startsWith(path, localRepository)) + { + args.push("-nolocalrepocheck"); + } + Sys.setCwd(path); var args = [Path.combine(path, "run.n")].concat(args); args.push(workingDirectory); From 0f6f01287a42c1476cd5552dc3c42964c14185b3 Mon Sep 17 00:00:00 2001 From: Josh Tynjala Date: Mon, 9 Jun 2025 15:25:52 -0700 Subject: [PATCH 02/13] actions: add pip3 to python3 execs that need to be removed --- .github/workflows/main.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index edd7f91e7..c624e6236 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -117,6 +117,7 @@ jobs: rm /usr/local/bin/idle3* rm /usr/local/bin/pydoc3* rm /usr/local/bin/python3* + rm /usr/local/bin/pip3* brew bundle popd From 4be7cc924e8f72c1b0545ea165b667caca971081 Mon Sep 17 00:00:00 2001 From: Josh Tynjala Date: Fri, 20 Jun 2025 14:04:57 -0700 Subject: [PATCH 03/13] FileDialog: if the defaultPath passed to browse() is a directory, fixes issue where parent directory was used as default path instead Tiny file dialogs seems to choose the parent directory if the path doesn't end with a separator. --- src/lime/ui/FileDialog.hx | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) diff --git a/src/lime/ui/FileDialog.hx b/src/lime/ui/FileDialog.hx index c6eed0803..014c11b8b 100644 --- a/src/lime/ui/FileDialog.hx +++ b/src/lime/ui/FileDialog.hx @@ -14,6 +14,7 @@ import hl.Bytes as HLBytes; import hl.NativeArray; #end #if sys +import sys.FileSystem; import sys.io.File; #end #if (js && html5) @@ -98,6 +99,29 @@ class FileDialog { if (type == null) type = FileDialogType.OPEN; + #if sys + if (defaultPath != null && defaultPath.length > 0 + && FileSystem.exists(defaultPath) + && FileSystem.isDirectory(defaultPath)) + { + // if the default path is a directory, and the default path doesn't + // end with a separator, tiny file dialogs may open its parent + // directory instead. + var lastChar = defaultPath.charAt(defaultPath.length - 1); + #if windows + if (lastChar != "/" && lastChar != "\\") + { + defaultPath = defaultPath + "\\"; + } + #else + if (lastChar != "/") + { + defaultPath = defaultPath + "/"; + } + #end + } + #end + #if desktop var worker = new ThreadPool(#if windows SINGLE_THREADED #end); @@ -148,6 +172,7 @@ class FileDialog var path = null; #if (!macro && lime_cffi) + trace(defaultPath); path = CFFI.stringValue(NativeCFFI.lime_file_dialog_open_file(title, filter, defaultPath)); #end From 112664aa35d2c1f3570b2835ab436b2708a6b7de Mon Sep 17 00:00:00 2001 From: player-03 Date: Sun, 13 Jul 2025 19:48:01 -0400 Subject: [PATCH 04/13] Fix deprecation warning. --- .../template/app/src/main/java/org/haxe/lime/GameActivity.java | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/templates/android/template/app/src/main/java/org/haxe/lime/GameActivity.java b/templates/android/template/app/src/main/java/org/haxe/lime/GameActivity.java index 18a276f6e..a38781ac3 100644 --- a/templates/android/template/app/src/main/java/org/haxe/lime/GameActivity.java +++ b/templates/android/template/app/src/main/java/org/haxe/lime/GameActivity.java @@ -9,6 +9,7 @@ import android.net.Uri; import android.os.Build; import android.os.Bundle; import android.os.Handler; +import android.os.Looper; import android.os.VibrationEffect; import android.os.Vibrator; import android.util.DisplayMetrics; @@ -119,7 +120,7 @@ public class GameActivity extends SDLActivity { } - handler = new Handler (); + handler = new Handler (Looper.getMainLooper ()); Extension.assetManager = assetManager; Extension.callbackHandler = handler; From 3c86d2cd399951f70a83c3a8d0acca2c17411b32 Mon Sep 17 00:00:00 2001 From: player-03 Date: Sun, 13 Jul 2025 21:15:39 -0400 Subject: [PATCH 05/13] Simplify logic in `createCanvas()`. I assume we used `untyped __js__` to get around incomplete externs, but Haxe 3.2 updated the externs, and they've included the second argument ever since. --- src/lime/_internal/graphics/ImageCanvasUtil.hx | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-) diff --git a/src/lime/_internal/graphics/ImageCanvasUtil.hx b/src/lime/_internal/graphics/ImageCanvasUtil.hx index 539bce20c..3102bcc2c 100644 --- a/src/lime/_internal/graphics/ImageCanvasUtil.hx +++ b/src/lime/_internal/graphics/ImageCanvasUtil.hx @@ -189,13 +189,10 @@ class ImageCanvasUtil if (!image.transparent) { - if (!image.transparent) buffer.__srcCanvas.setAttribute("moz-opaque", "true"); - buffer.__srcContext = untyped #if haxe4 js.Syntax.code #else __js__ #end ('buffer.__srcCanvas.getContext ("2d", { alpha: false })'); - } - else - { - buffer.__srcContext = buffer.__srcCanvas.getContext("2d"); + buffer.__srcCanvas.setAttribute("moz-opaque", "true"); } + + buffer.__srcContext = buffer.__srcCanvas.getContext("2d", {alpha: image.transparent}); } #end } From b9fecd2ab03510d250342ee877895839aa8b94d4 Mon Sep 17 00:00:00 2001 From: Josh Tynjala Date: Wed, 23 Jul 2025 10:32:40 -0700 Subject: [PATCH 06/13] IOSHelper: more refinements to selecting a physical device for lime test ios (closes #1957) Followup to 6f2f88ca74db62e9015bc252e178edf6bb9ed96b Now checks for devices with filters in the following order of preference: 1. State == 'connected' AND transportType == 'wired' 2. State == 'connected' AND transportType == 'localNetwork' 3. State == 'available (paired)' AND transportType == 'wired' 3. State == 'available (paired)' AND transportType == 'localNetwork' Also adds developerModeStatus == 'enabled' filter as a requirement for all checks. If the app is meant to be iPhone-only or iPad-only, adds the appropriate filter for that too. --- src/lime/tools/IOSHelper.hx | 94 ++++++++++++++++++++++++++++--------- 1 file changed, 72 insertions(+), 22 deletions(-) diff --git a/src/lime/tools/IOSHelper.hx b/src/lime/tools/IOSHelper.hx index 56f2438d4..50fa34341 100644 --- a/src/lime/tools/IOSHelper.hx +++ b/src/lime/tools/IOSHelper.hx @@ -360,39 +360,68 @@ class IOSHelper applicationPath = workingDirectory + "/build/" + configuration + "-iphoneos/" + project.app.file + ".app"; } + var requireIPad = project.config.getString("ios.device", "universal") == "ipad"; + var requireIPhone = project.config.getString("ios.device", "universal") == "iphone"; + var xcodeVersion = Std.parseFloat(getXcodeVersion()); if (!Math.isNaN(xcodeVersion) && xcodeVersion >= 16) { // ios-deploy doesn't work with newer iOS SDKs where it can't // find DeveloperDiskImage.dmg. however, Xcode 16 adds new // commands for installing and launching apps on connected // devices, so we'll prefer those, if available. + var deviceUUID:String = null; - // prefer an iOS device with State == 'connected' - // Note: Platform == 'iOS' includes iPadOS - var listDevicesOutput = System.runProcess("", "xcrun", ["devicectl", "list", "devices", "--hide-default-columns", "--columns", "Identifier", "--filter", "Platform == 'iOS' AND State == 'connected'"]); - var ready = false; - for (line in listDevicesOutput.split("\n")) { - if (!ready) { - ready = StringTools.startsWith(line, "----"); - continue; - } - deviceUUID = line; - break; + + // we'll try various combinations of the following filters to + // select an iOS device. there may be multiple devices to choose + // from, so these filters help us figure out the best one. + + var filterPlatformIOS = "Platform == 'iOS'"; // includes iPadOS + var filterDeveloperModeEnabled = "deviceProperties.developerModeStatus == 'enabled'"; + var filterStateConnected = "State == 'connected'"; + var filterStateAvailable = "State == 'available (paired)'"; + var filterTransportTypeWired = "connectionProperties.transportType == 'wired'"; + var filterTransportTypeLocalNetwork = "connectionProperties.transportType == 'localNetwork'"; + var filterDeviceTypeIPhone = "hardwareProperties.deviceType == 'iPhone'"; + var filterDeviceTypeIPad = "hardwareProperties.deviceType == 'iPad'"; + + // first, some strictly required filters: + // 1. the platform must always be iOS (which includes iPadOS). + // 2. the device must be in developer mode. + // 3. if required by the project config, limit to iPhone or iPad only + var baseFilters = [ + filterPlatformIOS, + filterDeveloperModeEnabled, + ]; + if (requireIPad) + { + baseFilters.push(filterDeviceTypeIPad); } - if (deviceUUID == null || deviceUUID.length == 0) { - // preferred fallback is an iOS device that is both - // available and wired - var listDevicesOutput = System.runProcess("", "xcrun", ["devicectl", "list", "devices", "--hide-default-columns", "--columns", "Identifier", "--filter", "Platform == 'iOS' AND State == 'available (paired)' AND connectionProperties.transportType == 'wired'"]); - ready = false; - for (line in listDevicesOutput.split("\n")) { - if (!ready) { - ready = StringTools.startsWith(line, "----"); - continue; + else if (requireIPhone) + { + baseFilters.push(filterDeviceTypeIPhone); + } + + // after that, we have the following preferences, in order: + // 1. state: "connected" preferred over "available (paired)" + // 2. transportType: "wired" preferred over "localNetwork" + var stateFilters = [filterStateConnected, filterStateAvailable]; + var transportTypeFilters = [filterTransportTypeWired, filterTransportTypeLocalNetwork]; + for (stateFilter in stateFilters) + { + for (transportTypeFilter in transportTypeFilters) + { + deviceUUID = findDeviceUUIDWithFilters(baseFilters.concat([ + stateFilter, + transportTypeFilter + ])); + if (deviceUUID != null && deviceUUID.length > 0) + { + break; } - deviceUUID = line; - break; } } + if (deviceUUID == null || deviceUUID.length == 0) { // devices running iOS 16 and older don't support // xcrun devicectl, so if no device was found, try falling @@ -416,6 +445,27 @@ class IOSHelper } } + private static function findDeviceUUIDWithFilters(filters:Array):String + { + var listDevicesOutput = System.runProcess("", "xcrun", + [ + "devicectl", "list", "devices", + "--hide-default-columns", "--columns", "Identifier", + "--filter", filters.join(" AND ") + ]); + var ready = false; + for (line in listDevicesOutput.split("\n")) + { + if (!ready) + { + ready = StringTools.startsWith(line, "----"); + continue; + } + return line; + } + return null; + } + private static function fallbackLaunch(project:HXProject, applicationPath:String):Void { var templatePaths = [ From a999a7b2198197aafdbab393c32c2c1f14efbcfa Mon Sep 17 00:00:00 2001 From: Josh Tynjala Date: Mon, 11 Aug 2025 15:02:40 -0700 Subject: [PATCH 07/13] Assets: document getImage() result behavior Multiple calls to getImage() with the same ID may return a new Image instance on some targets, but the same Image instance on other targets. --- src/lime/utils/Assets.hx | 18 +++++++++++++++++- 1 file changed, 17 insertions(+), 1 deletion(-) diff --git a/src/lime/utils/Assets.hx b/src/lime/utils/Assets.hx index ec6de0cc0..87808483e 100644 --- a/src/lime/utils/Assets.hx +++ b/src/lime/utils/Assets.hx @@ -181,7 +181,23 @@ class Assets } /** - * Gets an instance of an embedded bitmap + * Gets an instance of an embedded bitmap. + * + * _Note:_ This method may behave differently, depending on the target + * platform. On targets that can quickly create a new image synchronously, + * every call to `Assets.getImage()` with the same ID will return a new + * `Image` instance. However, on other targets where creating images + * synchronously is unacceptably slow, or where images may not be created + * synchronously and must be created asynchronously, every call to + * `Assets.getImage()` with the same ID may return a single, shared `Image` + * instance. + * + * With that in mind, modifying or disposing the contents of the `Image` + * returned by `Assets.getImage()` may affect the results of future calls to + * Assets.getImage()` on some targets. To access an `Image` instance that + * may be modified without affecting future calls to `Assets.getImage()`, + * call the `Image` instance's `clone()` method to manually create a copy. + * * @usage var bitmap = new Bitmap(Assets.getBitmapData("image.jpg")); * @param id The ID or asset path for the bitmap * @param useCache (Optional) Whether to use BitmapData from the cache(Default: true) From 52ad5b1b24d166b088ba3379af1047dde01e3070 Mon Sep 17 00:00:00 2001 From: Thomas Cashman Date: Fri, 14 Feb 2025 17:34:40 +0000 Subject: [PATCH 08/13] Fix GetDirectory UTF16 encoding issue --- project/src/backend/sdl/SDLSystem.cpp | 32 ++++++++++----------------- 1 file changed, 12 insertions(+), 20 deletions(-) diff --git a/project/src/backend/sdl/SDLSystem.cpp b/project/src/backend/sdl/SDLSystem.cpp index 058f2d3dd..688fc38c2 100644 --- a/project/src/backend/sdl/SDLSystem.cpp +++ b/project/src/backend/sdl/SDLSystem.cpp @@ -142,11 +142,9 @@ namespace lime { #elif defined (HX_WINDOWS) - char folderPath[MAX_PATH] = ""; - SHGetFolderPath (NULL, CSIDL_DESKTOPDIRECTORY, NULL, SHGFP_TYPE_CURRENT, folderPath); - //WIN_StringToUTF8 (folderPath); - std::wstring_convert> converter; - result = new std::wstring (converter.from_bytes (folderPath)); + WCHAR folderPath[MAX_PATH] = L""; + SHGetFolderPathW (NULL, CSIDL_DESKTOPDIRECTORY, NULL, SHGFP_TYPE_CURRENT, folderPath); + result = new std::wstring (folderPath); #elif defined (IPHONE) @@ -179,11 +177,9 @@ namespace lime { #elif defined (HX_WINDOWS) - char folderPath[MAX_PATH] = ""; - SHGetFolderPath (NULL, CSIDL_MYDOCUMENTS, NULL, SHGFP_TYPE_CURRENT, folderPath); - //WIN_StringToUTF8 (folderPath); - std::wstring_convert> converter; - result = new std::wstring (converter.from_bytes (folderPath)); + WCHAR folderPath[MAX_PATH] = L""; + SHGetFolderPathW (NULL, CSIDL_MYDOCUMENTS, NULL, SHGFP_TYPE_CURRENT, folderPath); + result = new std::wstring (folderPath); #elif defined (IPHONE) @@ -217,11 +213,9 @@ namespace lime { #elif defined (HX_WINDOWS) - char folderPath[MAX_PATH] = ""; - SHGetFolderPath (NULL, CSIDL_FONTS, NULL, SHGFP_TYPE_CURRENT, folderPath); - //WIN_StringToUTF8 (folderPath); - std::wstring_convert> converter; - result = new std::wstring (converter.from_bytes (folderPath)); + WCHAR folderPath[MAX_PATH] = L""; + SHGetFolderPathW (NULL, CSIDL_FONTS, NULL, SHGFP_TYPE_CURRENT, folderPath); + result = new std::wstring (folderPath); #elif defined (HX_MACOS) @@ -257,11 +251,9 @@ namespace lime { #elif defined (HX_WINDOWS) - char folderPath[MAX_PATH] = ""; - SHGetFolderPath (NULL, CSIDL_PROFILE, NULL, SHGFP_TYPE_CURRENT, folderPath); - //WIN_StringToUTF8 (folderPath); - std::wstring_convert> converter; - result = new std::wstring (converter.from_bytes (folderPath)); + WCHAR folderPath[MAX_PATH] = L""; + SHGetFolderPathW (NULL, CSIDL_PROFILE, NULL, SHGFP_TYPE_CURRENT, folderPath); + result = new std::wstring (folderPath); #elif defined (IPHONE) From 99e986ce39cf438c64768c20f20d8161566c77de Mon Sep 17 00:00:00 2001 From: Tobiasz Laskowski Date: Fri, 15 Aug 2025 18:52:19 +0100 Subject: [PATCH 09/13] Fix typos in mbedtls xml includes --- project/lib/curl-files.xml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/project/lib/curl-files.xml b/project/lib/curl-files.xml index 69220ce05..06fecab8a 100644 --- a/project/lib/curl-files.xml +++ b/project/lib/curl-files.xml @@ -1,5 +1,5 @@ - + @@ -30,7 +30,7 @@
- +
From cbcb5f029ec7e43ef96bed5589f4e4aee6426da6 Mon Sep 17 00:00:00 2001 From: Tobiasz Laskowski Date: Sun, 17 Aug 2025 12:30:47 +0100 Subject: [PATCH 10/13] Fix crash on null returns from sdl path functions On android SDL_GetBasePath is not implemented and returns NULL, which means that calling strlen causes a crash: https://github.com/libsdl-org/SDL/blob/1f21aae242ba7e1e040d93d1932e64d3e4246438/src/filesystem/android/SDL_sysfilesystem.c#L35-L40 According to sdl docs, SDL_GetPrefPath can also return NULL, so we also need to check for that: https://wiki.libsdl.org/SDL2/SDL_GetPrefPath#return-value https://wiki.libsdl.org/SDL2/SDL_GetBasePath#return-value --- project/src/backend/sdl/SDLSystem.cpp | 38 +++++++++++++++++---------- 1 file changed, 24 insertions(+), 14 deletions(-) diff --git a/project/src/backend/sdl/SDLSystem.cpp b/project/src/backend/sdl/SDLSystem.cpp index 688fc38c2..1cad2dd07 100644 --- a/project/src/backend/sdl/SDLSystem.cpp +++ b/project/src/backend/sdl/SDLSystem.cpp @@ -108,13 +108,19 @@ namespace lime { case APPLICATION: { char* path = SDL_GetBasePath (); - #ifdef HX_WINDOWS - std::wstring_convert> converter; - result = new std::wstring (converter.from_bytes(path)); - #else - result = new std::wstring (path, path + strlen (path)); - #endif - SDL_free (path); + + if (path != nullptr) { + + #ifdef HX_WINDOWS + std::wstring_convert> converter; + result = new std::wstring (converter.from_bytes(path)); + #else + result = new std::wstring (path, path + strlen (path)); + #endif + SDL_free (path); + + } + break; } @@ -122,13 +128,17 @@ namespace lime { case APPLICATION_STORAGE: { char* path = SDL_GetPrefPath (company, title); - #ifdef HX_WINDOWS - std::wstring_convert> converter; - result = new std::wstring (converter.from_bytes(path)); - #else - result = new std::wstring (path, path + strlen (path)); - #endif - SDL_free (path); + + if (path != nullptr) { + #ifdef HX_WINDOWS + std::wstring_convert> converter; + result = new std::wstring (converter.from_bytes(path)); + #else + result = new std::wstring (path, path + strlen (path)); + #endif + SDL_free (path); + } + break; } From c81d70c30347d25bd9ca981b09a7e9b2d5b4dd51 Mon Sep 17 00:00:00 2001 From: Tobiasz Laskowski Date: Sun, 17 Aug 2025 12:38:34 +0100 Subject: [PATCH 11/13] Fix NULL handling in `GetDirectory(DESKTOP)` If HOME is NULL, we cannot return here immediately, since we haven't called `System::GCExitBlocking()`. This currently causes: ``` Critical Error: Allocating from a GC-free thread ``` This is already handled correctly for `USER` and `DOCUMENTS`, however `DESKTOP` was missed out in f6e38208d368b503031898538d1d3f13b3d43d11 --- project/src/backend/sdl/SDLSystem.cpp | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/project/src/backend/sdl/SDLSystem.cpp b/project/src/backend/sdl/SDLSystem.cpp index 1cad2dd07..2d4ed1063 100644 --- a/project/src/backend/sdl/SDLSystem.cpp +++ b/project/src/backend/sdl/SDLSystem.cpp @@ -164,15 +164,13 @@ namespace lime { char const* home = getenv ("HOME"); - if (home == NULL) { + if (home != NULL) { - return 0; + std::string path = std::string (home) + std::string ("/Desktop"); + result = new std::wstring (path.begin (), path.end ()); } - std::string path = std::string (home) + std::string ("/Desktop"); - result = new std::wstring (path.begin (), path.end ()); - #endif break; From 985e0994d906e6cad669d1897be61069ff34364d Mon Sep 17 00:00:00 2001 From: Tobiasz Laskowski Date: Sat, 16 Aug 2025 15:37:18 +0100 Subject: [PATCH 12/13] Fix unicode system path conversions on linux For non windows platforms, we previously just passed char* into wstring, which didn't perform the necessary conversion into utf32 which is expected when hxcpp converts a wchar string to a hxstring on platforms where wchar has 4 bytes. --- project/src/backend/sdl/SDLSystem.cpp | 33 ++++++++++++++------------- 1 file changed, 17 insertions(+), 16 deletions(-) diff --git a/project/src/backend/sdl/SDLSystem.cpp b/project/src/backend/sdl/SDLSystem.cpp index 2d4ed1063..70219b1bf 100644 --- a/project/src/backend/sdl/SDLSystem.cpp +++ b/project/src/backend/sdl/SDLSystem.cpp @@ -38,10 +38,10 @@ #include #include -#ifdef HX_WINDOWS #include #include -#endif + +using wstring_convert = std::wstring_convert>; namespace lime { @@ -111,12 +111,8 @@ namespace lime { if (path != nullptr) { - #ifdef HX_WINDOWS - std::wstring_convert> converter; + wstring_convert converter; result = new std::wstring (converter.from_bytes(path)); - #else - result = new std::wstring (path, path + strlen (path)); - #endif SDL_free (path); } @@ -130,13 +126,11 @@ namespace lime { char* path = SDL_GetPrefPath (company, title); if (path != nullptr) { - #ifdef HX_WINDOWS - std::wstring_convert> converter; + + wstring_convert converter; result = new std::wstring (converter.from_bytes(path)); - #else - result = new std::wstring (path, path + strlen (path)); - #endif SDL_free (path); + } break; @@ -167,10 +161,15 @@ namespace lime { if (home != NULL) { std::string path = std::string (home) + std::string ("/Desktop"); - result = new std::wstring (path.begin (), path.end ()); + wstring_convert converter; + result = new std::wstring (converter.from_bytes(path)); } + std::string path = std::string (home) + std::string ("/Desktop"); + wstring_convert converter; + result = new std::wstring (converter.from_bytes(path)); + #endif break; @@ -204,7 +203,8 @@ namespace lime { if (home != NULL) { std::string path = std::string (home) + std::string ("/Documents"); - result = new std::wstring (path.begin (), path.end ()); + wstring_convert converter; + result = new std::wstring (converter.from_bytes(path)); } @@ -278,7 +278,8 @@ namespace lime { if (home != NULL) { std::string path = std::string (home); - result = new std::wstring (path.begin (), path.end ()); + wstring_convert converter; + result = new std::wstring (converter.from_bytes(path)); } @@ -878,4 +879,4 @@ namespace lime { } -} \ No newline at end of file +} From d1369f1aaa4c6bc4131c6ca30c30fef47a22c71c Mon Sep 17 00:00:00 2001 From: Tobiasz Laskowski Date: Mon, 18 Aug 2025 18:40:13 +0100 Subject: [PATCH 13/13] Fix merge error from 985e0994d906e6cad669d1897be61069ff34364d --- project/src/backend/sdl/SDLSystem.cpp | 4 ---- 1 file changed, 4 deletions(-) diff --git a/project/src/backend/sdl/SDLSystem.cpp b/project/src/backend/sdl/SDLSystem.cpp index 70219b1bf..8b76afbae 100644 --- a/project/src/backend/sdl/SDLSystem.cpp +++ b/project/src/backend/sdl/SDLSystem.cpp @@ -166,10 +166,6 @@ namespace lime { } - std::string path = std::string (home) + std::string ("/Desktop"); - wstring_convert converter; - result = new std::wstring (converter.from_bytes(path)); - #endif break;