1
0
Fork 0
mirror of https://github.com/juce-framework/JUCE.git synced 2026-01-10 23:44:24 +00:00
Commit graph

2515 commits

Author SHA1 Message Date
reuk
5298225ee7
Android: Set fullscreen peers as content views, instead of floating windows
This is intended to fix an issue when running Android 33 or 34 in desktop/windowing mode.
2025-07-09 11:30:28 +01:00
reuk
21b0cd4663
Network: Fix potential deadlock in macOS WebInputStream
Regarding didComplete():

When a WebInputStream is destroyed, the thread of execution will wait in
SharedSession::removeTask() until the task is no longer present in the
list of all active tasks. If multiple threads are all waiting in
removeTask(), then all of those threads should wake when the set of
active tasks changes. Waking only a single thread may result in
deadlocks, as that thread's task may not have completed successfully.
Then, the thread that woke up will be forced to sleep again and may not
get another chance to wake.

Regarding didBecomeInvalid():

Normally, didBecomeInvalid() will only be called after the
SharedSession's destructor. If the destructor is running, we may assume
that no other thread can access the SharedSession, so using notify_one()
in didBecomeInvalid() should be sufficient to wake up the destructor's
thread. However, there's a chance that the NSURLSession may be
invalidated unexpectedly (i.e. before the SharedSession's destructor
runs), in which case there may still be threads waiting in removeTask().
In this scenario we need to notify_all() so that all waiting threads are
able to wake and make progress.
2025-06-30 19:46:19 +01:00
reuk
b8e0146a3c
Network: Make Linux networking code robust against user headers that already end with CRLF 2025-06-19 14:45:30 +01:00
reuk
58fabf3a8f
XmlElement: Add new API to allow iterating over attributes 2025-06-19 14:45:30 +01:00
Oliver James
d651f6740c Fonts: Add OpenType feature support 2025-06-17 12:38:20 +01:00
reuk
a3d64c7784
Typeface: Enable advanced colour glyph rendering on Android
Android 15+ removed the 'legacy' png-based emoji font. Modern Android
versions may include only a COLR-v1-based font, which JUCE cannot
render itself.

As a workaround, on Android, we use a Canvas object to render each emoji
glyph into a bitmap, and then render that bitmap in the same way as a
legacy png-based glyph. This won't look as crisp as rendering COLRv1
glyphs directly, especially at larger sizes, but this is a sufficient
stop-gap for the time being.
2025-06-16 16:59:55 +01:00
reuk
6f1d116279
macOS: Add initial macOS 26 suport 2025-06-10 20:15:58 +01:00
Anthony Nicholls
c1c8eccb99 Core: Prevent a preprocessor definition leak in zlib 2025-06-10 16:13:33 +01:00
reuk
5208b3ffc0
GlyphArrangement: Use portable string trimming 2025-06-03 16:12:00 +01:00
reuk
f904fd356a
Android: Improve screen safe-area reporting
The goal of this change is to ensure that the safeAreaInsets and
keyboardInsets members of Display correctly take the current system UI
and screen cutouts into account.

This change also enables rendering behind the status bar and navigation
bar for JUCE applications. This is in line with the new defaults in
Android 15, where building against the Android SDK 35 will automatically
enable "edge-to-edge" drawing. Enabling this behaviour on older
platforms too provides a more consistent experience.
2025-06-03 16:08:20 +01:00
Tom Poole
b0d569c74b Bump version number to 8.0.8 2025-06-02 09:24:54 +01:00
attila
94fc24e41a iOS: Fix compiling juce_audio_devices when juce_graphics isn't added 2025-05-16 18:08:54 +02:00
Anthony Nicholls
bc4ea1a66f HighResolutionTimer: Prevent a race condition in the unit tests
Some checks failed
JUCE Private Push Trigger / JUCE Push Trigger (push) Has been cancelled
2025-05-09 16:44:01 +01:00
Sudara
9a4ab937ad Docs: Fix a few tiny typos in comments 2025-05-08 16:33:24 +02:00
Anthony Nicholls
76215d2dd0 ListenerList: Prevent false positive assertions in callCheckedExcluding 2025-05-01 15:57:19 +01:00
reuk
17bf5c167c
ObjC: Silence Wcast-function-type-mismatch warnings when building with Wextra for x86_64 2025-04-14 13:05:22 +01:00
reuk
20b5e92559
Add missing JUCE_API annotations 2025-04-10 17:28:17 +01:00
attila
fbcd416a84 Prevent Thread::sleep waking up on POSIX systems when receiving signals 2025-04-10 16:23:13 +02:00
reuk
8f6157142b
Zlib: Remove extern "C" for declarations in bundled private namespace 2025-04-09 14:14:50 +01:00
Tom Poole
99b752a1d2 Bump version number to 8.0.7 2025-04-08 10:51:07 +01:00
attila
2f5f8d1e7e Fix doc in FileOutputStream 2025-03-28 18:47:16 +01:00
reuk
51be8b9332
Android: Remove unnecessary SDK version checks 2025-03-19 11:06:17 +00:00
attila
4362f9e0df File: Document setReadOnly behaviour for Windows directories 2025-03-17 15:32:59 +01:00
reuk
90695ce7b6
SystemStats: Silence function-cast warnings 2025-03-03 14:41:31 +00:00
reuk
209c86c627 Zlib: Update JUCE sources to support new zlib version 2025-02-25 12:47:13 +00:00
reuk
32cb0e980f
Zlib: Make changes to imported source files where necessary 2025-02-25 12:41:48 +00:00
reuk
fd05aaf817
Zlib: Import sources from 1.3.1
This commit does not build. It's included to show JUCE modifications to
the zlib sources in the following commit.
2025-02-25 12:41:48 +00:00
attila
49b6dfb7c8 Fix 0 file descriptor handling on POSIX systems 2025-02-06 12:12:15 +01:00
reuk
2d01e326db
ObjCHelpers: Rename makeCGRect from makeNSRect 2025-01-23 12:20:27 +00:00
tpoole
0baffff182 Bump version number to 8.0.6 2025-01-10 09:29:00 +00:00
tpoole
902ddc7567 Bump version number to 8.0.5 2025-01-08 14:23:21 +00:00
reuk
9092182605
WebBrowserComponent: Fix leak on Windows
Co-authored-by: Aid Vllasaliu <vllasaliu.aid@gmail.com>
2025-01-07 11:21:05 +00:00
Oliver James
cafe62dd88 SystemStats (macOS): Add macOS 15 (Sequoia) enum 2025-01-06 11:52:55 +00:00
reuk
914f55683c
StandardHeader: Fix missing definition of alignment_of_v
When building in C++23 mode for iOS with Xcode 16.1 and Ninja, this
symbol could not be found, presumably because it is no longer included
transitively via other standard headers.
2024-12-05 11:54:11 +00:00
reuk
0329635ed2
RuntimePermissions: Allow requesting the POST_NOTIFICATIONS permission at runtime on Android 2024-12-04 11:09:18 +00:00
Anthony Nicholls
48375432be TemporaryFile: Make single argument constructors explicit 2024-11-27 11:07:04 +00:00
Anthony Nicholls
f98bf8434a TemporaryFile: Stopping use a LockedRandom now that system random is thread safe 2024-11-27 11:07:04 +00:00
Anthony Nicholls
655d18b721 Random: Add some extra data race tests 2024-11-27 11:07:04 +00:00
Anthony Nicholls
8fe8717ebc Random: Make the system random object safer to use from multiple threads 2024-11-27 11:07:04 +00:00
Anthony Nicholls
5e803ded5f Deprecations: Add ignore deprecation warning macros 2024-11-27 11:07:04 +00:00
Anthony Nicholls
0823ee6aed String: Fix the string length being passed in a UTF conversion test 2024-11-27 11:06:56 +00:00
Anthony Nicholls
bd322d0f78 String: Refactor a test function to be more generic 2024-11-27 11:06:56 +00:00
tpoole
39b335ccef Make building with MinGW a compiler error 2024-11-22 14:43:18 +00:00
Tom Poole
5737c42ccf Use getSiblingFile in more places 2024-11-20 10:10:35 +00:00
Tom Poole
71af005543 Bump version number to 8.0.4 2024-11-18 10:12:15 +00:00
reuk
0ea1af03a1
ListenerList: Fix rare use-after-free when assertions are enabled
This issue manifested on Linux when building in Debug mode. It may also
have caused issues on other platforms. When editing a slider's value
using its text box, and then pressing the enter key, the program would
crash. The issue was not present when running with address sanitizer.
Valgrind was able to find the problem.
2024-11-07 21:00:22 +00:00
reuk
7437e35ef5
File: Always interpret path as absolute in getLinkedTarget()
This fixes an issue where paths consisting of just a drive letter ("C:")
would be passed to CreateFile without a trailing path separator. The
documented behaviour in this case is for the path to be interpreted
relative to the "current directory" on that disk, so getLinkedTarget()
would incorrectly return the disk's working directory instead of the
drive root.
2024-11-07 21:00:22 +00:00
Anthony Nicholls
6cd4c0a7dc UnitTestRunner: Move javascript tests into an independent category 2024-11-07 09:54:42 +00:00
Anthony Nicholls
df6f3f8e28 Javascript: Move javascript implementation into a separate module 2024-11-07 09:53:10 +00:00
Anthony Nicholls
637226addc Javascript: Update choc dependency 2024-11-07 09:52:14 +00:00