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

840 commits

Author SHA1 Message Date
Tom Poole
acc4b9c6d0 Bump version number to 8.0.12 2025-12-16 08:48:49 +00:00
Tom Poole
ae3b811c50 Bump version number to 8.0.11 2025-12-01 10:21:13 +00:00
reuk
83e5264c86
Formatting: Remove double-dots from comments and other strings 2025-11-18 15:47:42 +00:00
attila
a1a56cd54c Linux: WebBrowserComponent: Terminate subprocess if main process crashes 2025-10-14 17:57:55 +02:00
attila
7449867337 MacOS: Fix WebBrowserComponent going blank in FL Studio
The issue could be triggered by opening the plugin in FL Studio, and
then using the TAB button to switch between FL Studio UI elements, until
the plugin became invisible and then it became visible again. This would
cause the WebBrowserComponent to navigate to about:blank permanently.

This was caused by the component becoming invisible and visible again in
rapid succession. This triggered a navigation to about:blank. To
understand the root cause of this, some undocumented behaviour of
WkWebView had to be uncovered. To understand this, see the following
test code, where the test1, test2 and test3 functions are called with
ample time in between one after the other.

void test1()
{
    goToURL ("A");
}

void test2()
{
    goToURL ("B");
    goToURL ("C");

    // B, C ignored completely, only D inserted into back-forward navigation queue
    goToURL ("D");
}

void test3()
{
    goToURL ("E");
    goToURL ("F");

    // E, F ignored completely, back navigation executed from D to A
    goBack();
}
2025-10-09 17:52:29 +02:00
attila
bc8e9e05af Linux: WebBrowserComponent: Fix crash when accessing resources larger than 4k
This commit reverts 8e6aeab799.

The WebBrowserComponent subprocess calls tryNextRead() in an infinite
loop. Prior to the reverted change this allowed it to handle the
transfer of larger files, which would span multiple calls to the
function. The transfer state would be remembered in the receivingLength
and pos class members.

The simplification in 8e6aeab799 mainly
comes from moving these class members into function locals, but this
means, that the transfer state is lost whenever the break statements are
hit. This would cause bad access during the transfer of larger files.
2025-10-09 16:30:52 +02:00
Anthony Nicholls
e68627c9ed Smart Pointers: Add a new enum for indicating if a smart point should increment a reference count or not 2025-09-25 14:56:34 +01:00
reuk
3d8a97c1c1
Android: Update bytecode minimum version requirements 2025-09-17 12:50:06 +01:00
reuk
8ce1f19bf0
JNI: Tidying 2025-09-17 12:50:05 +01:00
Tom Poole
360dfe5f3d Bump version number to 8.0.10 2025-09-15 09:30:11 +01:00
attila
47d441787c Linux: Fix bad window error when using the XEmbedComponent
The issue was reproducible by opening a plugin window in the AudioPluginHost.
2025-09-10 11:06:38 +02:00
Tom Poole
cb9ec7e38f Bump version number to 8.0.9 2025-09-01 14:44:25 +01:00
attila
0c2d55c7dd Linux: Fix XEmbedComponent::setVisible
This also affects the WebBrowserComponent. Prior to this fix calling
setVisible (false) had no effect.
2025-07-30 11:18:39 +02:00
Anthony Nicholls
36d07a6ce3 Docs: Replace doxygen preprocessor conditionals with @cond and @endconds 2025-07-21 18:11:43 +02:00
reuk
1dab91e473
WebBrowserComponent: Avoid spinning indefinitely when reaching end of file 2025-06-23 20:33:42 +01:00
reuk
8e6aeab799
WebBrowserComponent: Refactor Linux implementation to simplify cross-process communication 2025-06-23 20:33:42 +01:00
reuk
d95cb61acf
WebBrowserComponent: Allow specifying request headers on Linux 2025-06-23 20:23:08 +01:00
reuk
b20df8d713
PopupMenu: Add missing target components for menus created by built-in widgets 2025-06-03 16:08:56 +01:00
Tom Poole
b0d569c74b Bump version number to 8.0.8 2025-06-02 09:24:54 +01:00
reuk
20b5e92559
Add missing JUCE_API annotations 2025-04-10 17:28:17 +01:00
attila
08b82c796b iOS: WebBrowserComponent: Fix unguarded feature only available on 18.4+ 2025-04-10 15:29:03 +02:00
Tom Poole
99b752a1d2 Bump version number to 8.0.7 2025-04-08 10:51:07 +01:00
attila
9c867286ae Add missing documentation tag for WebViewLifetimeListener 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
389516feeb WebView frontend: Fix window.__JUCE__.backend.removeEventListener
Co-authored-by: Yong Gyu Lee <cosgenio@gmail.com>
2025-02-19 09:30:13 +00:00
reuk
2d01e326db
ObjCHelpers: Rename makeCGRect from makeNSRect 2025-01-23 12:20:27 +00:00
attila
90e72dbd98 Windows: Fix faulty mechanism for creating multiple WebView2 instances serially
Prior to this commit it was possible for the WebBrowserComponent
implementation on Windows to end up in an infinite loop if multiple
WebBrowserComponent objects were being created at the same time.

When an instance was already being created, the createWebView() call for
the second would place it in a queue and return without initiating its
creation. When the first WebView finishes creation, it calls the
handleAsyncUpdate() function of the second. However handleAsyncUdpate()
would see that the webViewBeingCreated helper variable was already true
and not call createWebView(), hence the second WebView would never be
created.

If, in the meantime, the scriptsWaitingForExecution variable wasn't
empty, handleAsyncUpdate() would endlessly call triggerAsyncUpdate().
2025-01-17 16:29:42 +01: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
8be78e9f7f
WebBrowserComponent: Avoid nullptr dereference when WebView2 loader library is not present 2025-01-07 11:21:14 +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
f72cf8ff14
WebBrowserComponent (macOS): Catch use after free async callback bug 2025-01-07 11:19:56 +00:00
attila
4a5076d3a3 Fix WebControlRelays documentation 2024-12-06 15:24:41 +00:00
reuk
269ebbb525
Accessibility: Add AccessibilityHandler::postSystemNotification() function for posting an OS-specific accessible notification 2024-12-04 11:11:21 +00:00
reuk
6d10eb536f
PushNotifications: Update Android implementation to properly request permissions 2024-12-04 11:09:18 +00:00
reuk
ed0092a8bc
PushNotifications: Assert instead of crashing if Android notification icon cannot be located 2024-12-04 11:09:18 +00:00
reuk
98031a814c
PushNotifications: Remove unnecessary qualifications in Android impl 2024-12-04 11:09:18 +00:00
Anthony Nicholls
5e803ded5f Deprecations: Add ignore deprecation warning macros 2024-11-27 11:07:04 +00:00
Tom Poole
71af005543 Bump version number to 8.0.4 2024-11-18 10:12:15 +00:00
reuk
3005b716fe
ObjCHelpers: Add new macros to help with version checking 2024-10-29 19:46:35 +00:00
reuk
90f37e27ea Windows: Fix DLL build
There were a few "ambiguous operator new/delete" errors that were due to
inheriting from a private base class that used the leak detector. These
errors are resolved by adding the leak detector to the derived classes.

JUCE_API was missing from a few useful types, notably the ARA hosting
types.
2024-10-22 13:24:46 +01:00
reuk
80ac9a78a0
Singleton: Add new macros to simplify singleton creation
The INLINE macros allow singletons to be declared and defined in one
line, without requiring a separate JUCE_IMPLEMENT_SINGLETON statement.
2024-10-16 10:36:52 +01:00
Tom Poole
14c8d06fb0 Bump version number to 8.0.3 2024-10-15 22:16:12 +01:00
reuk
b52f5cff21 WebBrowserComponent: Fix build issue on older linux platforms
Previously, building the DemoRunner on Ubuntu 18.04 failed due to a
missing type declaration.
2024-10-08 19:13:04 +01:00
attila
171edbec7f MacOS: Suppress deprecation warnings related to NSUserNotification
All NSUserNotification related classes have been deprecated in MacOS 11,
and this class will have to be revamped to use the new User
Notifications framework. We are suppressing the warnings for the time
being.
2024-10-03 16:56:34 +02:00
attila
46eed81aae Windows: WebBrowserComponent: Avoid infinite loops caused by CONNECTION_ABORTED errors
WebView2 can emit COREWEBVIEW2_WEB_ERROR_STATUS_CONNECTION_ABORTED
errors during page navigation, even if the page navigation would happen
correctly afterwards. In such situations our internal error handler can
recursively encounter this error when trying to navigate to the error
handler page.

Prior to this commit the implementation could end up in an infinite loop
receiving the error and then navigating to the error handler page.
2024-10-03 16:56:34 +02:00
Tom Poole
7d3affbcb3 Merge master JUCE 8.0.2 branch 2024-09-26 12:43:39 +01:00
Anthony Nicholls
6c2d149ef3 Versioning: Add the JUCE version number to any internally created threads 2024-09-26 08:10:56 +00:00
Tom Poole
c1d2846e47 Bump version number to 8.0.2 2024-09-26 08:31:50 +01:00
reuk
29213e07a1
Font: Deprecate getStringWidth and getGlyphPositions 2024-09-18 19:13:09 +01:00