Commit Graph

5807 Commits

Author SHA1 Message Date
Josh Tynjala
f41614b1ed prepare for 8.2.3 8.2.3 2025-10-01 09:56:31 -07:00
Josh Tynjala
68107eeaa8 IOSHelper: fix missing break from outer loop when device UUID is found
Followup to commit b9fecd2ab0
2025-09-18 10:18:00 -07:00
Josh Tynjala
05591ebdb0 NativeCFFI: fix key_code_to_scan_code and key_code_from_scan_code
They were using float values, but they should have been int values instead.

The numeric type conversion was causing some kind of data loss that resulted in wrong values being returned in some cases. In particular, arrow keys.
2025-09-12 15:59:46 -07:00
Josh Tynjala
afbac6d35f some more API docs 2025-09-12 12:24:38 -07:00
player-03
86283df77e Simplify Timer.stop() (#1839) 2025-09-01 00:36:33 -04:00
player-03
06c4934f45 Fix old android ndk error not showing (#1926) 2025-09-01 00:23:29 -04:00
player-03
2bdd41ef57 Memory leak fix in curl bindings (#1856) 2025-08-31 23:20:16 -04:00
player-03
0b1ab0a245 Update tinyfiledialogs to fix compatibility with zenity. (#1964) 2025-08-31 15:07:19 -04:00
Chris Speciale
2b1a627ed0 Clarify versioning and branching guidelines
Documented semver-based versioning flow
- Explained usage of patch (develop), minor (x.x.x-dev), and major (x.0.0-dev) branches
- Added guidance on where to submit bug fixes, new features, and breaking changes
- Improves contributor clarity and aligns with current project workflow (e.g., Lime 8.2.2 -> 8.3.0-dev, 9.0.0-dev)

This helps reduce confusion about where to submit changes and ensures consistency across releases.
2025-08-31 03:43:19 -04:00
Rainy
945a2ec8e0 Perform null check for XMLHttpRequest.upload
Some browsers may not support uploading, and accessing upload will return null.
2025-08-20 11:50:17 -07:00
Tobiasz Laskowski
d1369f1aaa Fix merge error from 985e0994d9 2025-08-18 18:40:13 +01:00
Tobiasz Laskowski
985e0994d9 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.
2025-08-18 09:32:28 -07:00
Tobiasz Laskowski
c81d70c303 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 f6e38208d3
2025-08-18 08:41:28 -07:00
Tobiasz Laskowski
cbcb5f029e 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:

1f21aae242/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
2025-08-18 08:39:58 -07:00
Tobiasz Laskowski
99e986ce39 Fix typos in mbedtls xml includes 2025-08-15 15:13:38 -07:00
Thomas Cashman
52ad5b1b24 Fix GetDirectory UTF16 encoding issue 2025-08-14 09:43:29 -07:00
Josh Tynjala
a999a7b219 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.
2025-08-11 15:02:49 -07:00
Joseph Cloutier
1e47c4d0be Fix tinyfiledialogs compatibility with zenity. 2025-07-24 15:47:19 -04:00
Josh Tynjala
b9fecd2ab0 IOSHelper: more refinements to selecting a physical device for lime test ios (closes #1957)
Followup to 6f2f88ca74

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.
2025-07-23 10:32:50 -07:00
player-03
3c86d2cd39 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.
2025-07-13 21:15:39 -04:00
player-03
112664aa35 Fix deprecation warning. 2025-07-13 19:48:01 -04:00
Josh Tynjala
4be7cc924e 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.
2025-06-20 14:04:57 -07:00
Josh Tynjala
0f6f01287a actions: add pip3 to python3 execs that need to be removed 2025-06-09 15:25:52 -07:00
Josh Tynjala
95e63398c8 CommandLineTools: fix ability to specify <haxelib version/> in project with local .haxelib directory
If the version of Lime tools doesn't match the version of Lime specified by <haxelib version/>, 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 <haxelib version/> yet.
2025-06-05 08:48:56 -07:00
Josh Tynjala
c1f79fbfba actions: use ubuntu-22.04 because GitHub removed ubuntu-20.04 2025-05-05 10:19:03 -07:00
Josh Tynjala
09b6d151ad FileDialog: uses SINGLE_THREADED ThreadPool on all Windows targets to prevent application hang (closes #1946) (references #1849)
Previously, it seemed that only Windows HashLink would hang when opening a FileDialog, but I was able to reproduce #1946 on Windows CPP too. Not sure why I couldn't before because I don't see any obvious changes to FileDialog or ThreadPool that would cause it to happen now, but not when it was affecting HashLink previously.

Does not seem to affect other operating systems.

We might consider going back to BackgroundWorker instead, which we used in Lime 8.1 and older.
2025-05-05 09:47:25 -07:00
Josh Tynjala
bc8f9df60f zlib 1.2.13
Upgrading required to compile with latest Xcode and macOS SDK
2025-04-14 15:28:26 -07:00
Josh Tynjala
97466c6360 png 1.6.46
Upgrading required to compile with latest Xcode and macOS SDK
2025-04-14 15:28:01 -07:00
Josh Tynjala
241edd9d10 efsw 1.4.1
Upgrading required to compile with latest Xcode and macOS SDK
2025-04-14 15:27:24 -07:00
Chris Speciale
aadf0789b1 [ci] use the latest haxelib version 2025-04-10 11:49:27 -04:00
Chris Speciale
236e143a8e [fix] Extract values before locking to avoid deadlock with GC
Attempts to fix reported freezes/crashes related to possible gc contention related to: https://github.com/openfl/lime/issues/1943
2025-04-10 11:20:12 -04:00
Chris Speciale
b10d845ca0 Create MAINTAINERS.md 2025-04-02 10:55:52 -04:00
Barış Yıldırım
12d3ee5916 curl encoding support added 2025-03-21 10:56:23 -04:00
Josh Tynjala
a9f72d65d9 XCodeHelper: if project.xml contains <config:ios device="ipad"/>, default to ipad simulator instead of iphone simulator 2025-03-18 11:10:25 -07:00
Josh Tynjala
9d10e10f5f XCodeHelper: improve selection of default iPhone and iPad simulator
Falls back to any ipad- or iphone- simulator, if necessary
2025-03-18 11:10:25 -07:00
Josh Tynjala
6e869172b1 IOSHelper: use xcrun simctl boot deviceID to ensure that correct device is running
If the simulator was already running with a different device, it might not start the selected device
2025-03-18 11:10:25 -07:00
Chris Speciale
49a08c6920 Merge pull request #1927 from tobil4sk/android-openal-c++11
Apply -std=c++11 to openal-soft build on android
2025-03-14 06:38:13 -04:00
Tobiasz Laskowski
52072d1f21 Apply -std=c++11 to openal-soft build on android
openal-soft assumes that aligned_alloc is available with c++17. Newer
android ndks set c++17 by default, however they do not expose
aligned_alloc without setting min sdk version to 28.

We can avoid this issue by forcing openal to be compiled with c++11.

Also note, we have HXCPP_CPP11 defined, however, hxcpp ignores this for
the android toolchain.  This means we must set it explicitly

See:
f5e0eef34d/common/almalloc.cpp (L15)
2025-03-14 10:04:25 +00:00
Chris Speciale
20c9bec3bc Update Build.xml
Hxcpp doesn't respect HXCPP_CPP11 for android. We can avoid this issue just by adding -std=c++11 here. This resolves a conflict with openal soft 1.20.1 for android builds. This works because the library assumes c++17 and invokes a function that isn't available in android sdk below 28.
2025-03-14 05:29:18 -04:00
Tobiasz Laskowski
b709a5bb0d Fix old android ndk error not showing
The error flag is not valid inside `<files />`, so this wasn't actually
doing anything.

The error now shows properly
2025-03-14 07:41:17 +00:00
Chris Speciale
63b9a88e34 Merge pull request #1921 from tobil4sk/fix/get_glyphs_infinite_loop
Fix Font.getGlyphs returning zeros and looping
2025-03-11 01:34:41 -04:00
Tobiasz Laskowski
23b90dff3f Fix loop in GetGlyphIndices with invalid input
If the text is invalid, then readNextChar returns -1 and does not
progress to the next character. This previously meant that we got stuck
and looped indefinitely.
2025-03-11 01:23:29 +00:00
Tobiasz Laskowski
f495b777ab Remove old comment for hl GetGlyphIndices
The array size is already determined by the first loop
2025-03-11 01:19:58 +00:00
Tobiasz Laskowski
6283017adb Fix GetGlyphIndices returning array of 0 on hl
Previously, the first for loop would reach the end of the characters, so
no further characters were read in the second loop. This meant that the
array remained filled with 0 values.
2025-03-11 01:19:43 +00:00
Josh Tynjala
5488eee50c IOSHelper: comment about how the Platform == 'iOS' filter used by xcrun devicectl includes iPadOS, so there's no need to check for that one separately 2025-03-10 14:58:58 -07:00
Tobiasz Laskowski
70e55b1fa5 Fix rebuild warning about unknown option on msvc
cl : Command line warning D9002 : ignoring unknown option '-std=c11'
2025-03-10 14:20:55 -07:00
Josh Tynjala
6f2f88ca74 IOSHelper: if no iOS device is connected, look for one that is available (paired) and wired (closes #1918)
Consolidate fallback to ios-deploy when Xcode version < 16 and when xcrun devicectl doesn't find any devices
2025-03-10 14:17:20 -07:00
Josh Tynjala
99209da430 IOSHelper: if xcrun devicectl list devices fails, try to fall back to ios-deploy
Devices running iOS 16 and older don't support xcrun devicectl, but they should still work with ios-deploy.
2025-03-10 11:07:15 -07:00
Chris Speciale
4104e9fbd5 Merge pull request #1916 from tobil4sk/fix/hb-add-utf8
Fix utf8 conversions in hb_buffer_add_utf8
2025-03-10 07:04:56 -04:00
Tobiasz Laskowski
0ca7c392e0 Fix length for hl_hb_buffer_add_utf8
This function wants the utf8 length, but text->length does not give
this. We can instead use -1 to tell harfbuzz to treat it as null-
terminating, which is the case with all hashlink strings anyway.
2025-03-10 01:45:37 +00:00