Commit Graph

1347 Commits

Author SHA1 Message Date
Chris Speciale
6a4099861e OpenALBindings: Avoid deadlock when Sys.exit() is called
This change eliminates the cleanup attempt of the current OpenAL context and associated system resources. A change in OpenAL 1.20.0 made it unlikely that we will be able to clean up things in this way moving forward. We should steer users toward using `lime.system.System.exit()` or petition a change in the haxe stdlib to allow us to hook into Sys.exit(). 

I am not 100% satisfied with this, so perhaps we will find another solution. In the end, I think the benefit of updating OpenAL supersedes any inconvenience here.

Closes https://github.com/openfl/lime/issues/1803
2024-10-25 11:08:15 -04:00
Chris Speciale
e24ab07125 Revert "Downgrade to OpenAL 1.20.0"
This reverts commit 54f7734d7f.
2024-10-23 23:39:25 -04:00
Chris Speciale
a5d980cf75 Revert "Remove missing file path"
This reverts commit f60d8a75c5.
2024-10-23 23:39:20 -04:00
Chris Speciale
2ae713d180 Revert "Downgrade OpenAL to 1.19.1"
This reverts commit 583e742734.
2024-10-23 23:39:11 -04:00
Chris Speciale
583e742734 Downgrade OpenAL to 1.19.1
This still solves https://github.com/kcat/openal-soft/pull/227 which seems to be fixed in 1.19.1
2024-10-23 22:31:09 -04:00
Chris Speciale
f60d8a75c5 Remove missing file path
Removes an expected file introduced in 1.20.1
2024-10-23 21:25:05 -04:00
Chris Speciale
54f7734d7f Downgrade to OpenAL 1.20.0 2024-10-23 21:22:56 -04:00
Chris Speciale
a8939e9951 Merge pull request #1834 from gepatto/8.2.0-Dev
set correct paths for ndll for linxuarm and linuxarm64 (raspberrypi)
2024-10-22 07:17:56 -04:00
Josh Tynjala
a1dcad42df harfbuzz: update to 6.0.0
Needed for macOS when using Xcode 16 and clang 16. This version of clang produces errors like this when compiling harfbuzz:

cast from 'void (*)(FT_Face)' (aka 'void (*)(FT_FaceRec_ *)') to 'FT_Generic_Finalizer' (aka 'void (*)(void *)') converts to incompatible function type [-Werror,-Wcast-function-type-strict]

This is the minimum version of harfbuzz that fixes the errors. We could certainly consider upgrading further (current release is 10.0.1 at the time of this commit).
2024-10-07 10:13:03 -07:00
Patrick Gutlich
40764acbf3 set correct paths for ndll for linxuarm and linuxarm64 (raspberrypi)
and remove conflicting legacy includepaths in build.xml
2024-08-18 17:12:47 +02:00
Joshua Granick
656c761cb0 Fix broken JPEG decoding (tested on Windows) 2024-07-09 13:27:54 -07:00
Josh Tynjala
8f3ea8d271 Merge branch 'develop' into 8.2.0-Dev 2024-07-08 14:31:23 -07:00
Josh Tynjala
84d7f39605 Revert "MacPlatform: use install_name_tool to add /usr/local/lib and /opt/hombrew/lib to rpath of lime.ndll"
This reverts commit 47936494ac.

Didn't work with Haxe/Neko installed from Apple Silicon Homebrew because Lime tools couldn't link to Neko.
2024-07-08 14:27:15 -07:00
tobil4sk
0ef949f865 Merge pull request #1472 from nixbody/cffi-unicode-fixes
UNICODE fixes (clipboard, window title, file dialogs, paths, font glyphs, ...)
2024-07-07 23:10:43 +01:00
Josh Tynjala
e257b7ebe4 Merge branch 'develop' into 8.2.0-Dev 2024-07-01 08:53:48 -07:00
Josh Tynjala
47936494ac MacPlatform: use install_name_tool to add /usr/local/lib and /opt/hombrew/lib to rpath of lime.ndll
Previously, we added these rpaths to lime.ndll when it was built in commits c70ec9f and 333d093, but it's actually necessary only for Neko, so now I made it happen specfically after calling `nekotools boot` to create the Neko executable.

I've tested cpp and hl, and I've confirmed that the executables still launch successfully when these rpaths are omitted. It's better for their security to use fewer rpaths.

As noted commit c70ec9f, adding these rpaths is necessary due to a change in Xcode 15 where /usr/local/lib used to be available on the rpath automatically, but now it isn't, which affects the executable's ability to find the libneko dylib.
2024-06-19 14:39:17 -07:00
player-03
c0ca857fa6 Merge pull request #1791 from player-03/CairoMatrix3
Create a placeholder object to send `Matrix3`s to C++ code.
2024-05-30 12:20:25 -04:00
tobil4sk
54d6b72390 Fix pixman build for m1 2024-05-30 09:18:09 -07:00
tobil4sk
1a1beff531 Remove no longer used defines
See cf5b033bbc
2024-05-30 09:18:09 -07:00
tobil4sk
f116b57c8e Adding missing RESTRICT define for openal
See e027811906
2024-05-30 09:18:09 -07:00
tobil4sk
53c9b52562 Apply openal build fixes for m1
https://github.com/openfl/libopenal/pull/1
2024-05-30 09:18:09 -07:00
Joseph Cloutier
43b56eb86d Fix potential uninitialized values. 2024-05-29 19:50:52 -04:00
Joseph Cloutier
d3d476a1f5 Merge branch 'develop' into 8.2.0-Dev 2024-05-27 16:04:31 -04:00
Tobi Laskowski
333d093df0 Build.xml: Add /opt/homebrew/lib as rpath on arm64 macos
This is where arm64 homebrew installs `libneko.dylib`. However, it may still be in `/usr/local/lib` if installed via the haxe .pkg installer, so we add both.
2024-05-15 09:18:39 -07:00
Josh Tynjala
c70ec9fbe0 Build.xml: on macOS, add /usr/local/lib to rpath when building lime.ndll
This seems to be required with Xcode 15, but was not required previously
2024-05-09 15:07:12 -07:00
Josh Tynjala
237c8c6357 update pixman to 0.42.2 to fix macOS builds
was running into this issue: https://issuetracker.google.com/issues/249834910
2024-04-19 09:26:10 -07:00
Joseph Cloutier
657ad24682 Merge branch 'develop' into 8.2.0-Dev 2024-04-13 03:09:20 -04:00
Tobi Laskowski
fc6b90538a Downgrade mbedtls to 2.28.7
On ios, we build statically linked executables. This means that if lime uses mbedtls 3, hxcpp is also forced to use it which can cause crashes and other problems, as hxcpp is currently written for 2.28
2024-03-11 12:41:07 -07:00
Joseph Cloutier
4819ff3b27 Make C++ mutex methods constant.
Closes #1729.

Co-authored-by: Diego Fonseca <fonseca.diego.feeshy@gmail.com>
2024-02-05 15:11:33 -05:00
player-03
7c50f6e9e9 Remove another unnecessary buffer copy.
Also, use `hxs_utf8()` for consistency.
2024-01-31 14:02:50 -05:00
player-03
590be2bbe6 Remove unnecessary string copy.
Casting `const char*` → `char*` is bad form, and we'd rather copy the string than do that. However, `GetGlyphIndex()` now takes a const, so neither workaround is needed.
2024-01-31 13:46:09 -05:00
Josh Tynjala
c3170a0577 Merge branch '8.2.0-Dev' into feature/hlc 2024-01-30 09:16:34 -08:00
Tobi Laskowski
1517bb3557 Clean up 2024-01-05 11:26:17 +00:00
player-03
79c4b05c06 Merge branch 'develop' into cffi-unicode-fixes 2024-01-05 00:03:31 -05:00
Joshua Granick
9b9faae177 Fix dynamic callback on HL (resolves issues in cURL) 2024-01-04 08:48:45 -08:00
Josh Tynjala
c81591c887 Windows: .lib files are needed to compile HL/C for Windows with Visual Studio 2023-11-03 15:08:01 -07:00
Josh Tynjala
21e8e619c3 HashLink: when building hdlls, use -install_name on macOS
This more closely matches official HashLink binaries, and ensures that the hdlls can be found next to a HL/C executable
2023-10-18 15:33:32 -07:00
Joseph Cloutier
9a9b89ae06 Merge branch 'develop' into 8.2.0-Dev 2023-08-17 21:07:12 -04:00
Josh Tynjala
987e3dd425 Merge branch 'develop' into 8.1.0-Dev 2023-08-14 15:53:18 -07:00
player-03
c1cf271e71 Link to HashLink's documentation.
I'd forgotten that they have their own list of dependencies. And sure, we could copy their list, but I worry that we'd forget to update it. This way is easier and takes less space.
2023-08-01 13:05:17 -04:00
Zeta
26247f4f41 Fix string conversion in hl_window_alert. 2023-06-11 13:42:40 +02:00
Joshua Granick
a46eecc831 Disable try_blocking for now (requires HXCPP 4.3+) 2023-06-07 18:12:01 -07:00
Joshua Granick
06122fe72a Compile fix 2023-06-07 18:11:40 -07:00
Josh Tynjala
9e2d431e2b Merge branch 'develop' into 8.1.0-Dev 2023-06-06 12:35:57 -07:00
Josh Tynjala
aebf139dc7 Fix window show/hide on desktop being incorrectly considered the same as app going into and out of the background/suspend on mobile
The app's Timers should still continue when a window is hidden. Especially since an app could have multiple windows, with some being shown and some being hidden. If only one were hidden, the other shown windows would clearly behave in a broken manner because the one hidden window would cause all app timers, even those associated with other windows, to be paused.

Introduces new WINDOW_SHOW AND WINDOW_HIDE events from C++ to Haxe, and new onShow and onHide events on Haxe Window.

Followup to 0918ee2381
2023-06-06 10:56:06 -07:00
Josh Tynjala
f053205b7e Merge branch 'develop' into 8.1.0-Dev 2023-06-05 14:29:12 -07:00
Josh Tynjala
0918ee2381 SDLApplication: fix inconsistent setting of inBackground flag when dispatching WINDOW_DEACTIVATE and WINDOW_ACTIVATE (closes openfl/openfl#2645)
On SDL_APP_WILLENTERBACKGROUND and SDL_APP_DIDENTERFOREGROUND, inBackground was being toggled, but it was not toggled on SDL_WINDOWEVENT_SHOWN and SDL_WINDOWEVENT_HIDDEN. However, both pairs were dispatching WINDOW_DEACTIVATE and WINDOW_ACTIVATE from C++ to Haxe. When inBackground wasn't toggled, the UPDATE ApplicationEvent continued being dispatched from the C++, but the Haxe assumed that it wouldn't be. This meant that timers were still updated after WINDOW_DEACTIVATE for SDL_WINDOWEVENT_HIDDEN, but then they were still "advanced" as if paused on WINDOW_ACTIVATE for SDL_WINDOWEVENT_SHOWN. The next update time would be some time in the future, roughly equal to how long the Haxe thought the timers were paused. This could make it seem like the timers completed stopped updating, especially if they should have been paused for a long time. They would eventually continue, but they should have paused on WINDOW_DEACTIVATE and continued immediately on WINDOW_ACTIVATE.
2023-06-05 14:22:19 -07:00
Josh Tynjala
5a87d77897 Merge branch 'develop' into 8.1.0-Dev 2023-06-05 10:29:26 -07:00
player-03
e01a26759d Suppress libpng warnings.
Per https://github.com/openfl/lime/pull/1531#issuecomment-1568750546
2023-05-30 12:51:08 -04:00
Josh Tynjala
de773dd6b6 mbedtls v3.3.0
Restores Android NDK r15c compatibility
2023-05-30 09:03:55 -07:00