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

15686 commits

Author SHA1 Message Date
reuk
350f1f9bc1 CMake: Correctly derive AUv3 bundle name 2020-11-25 13:16:52 +00:00
reuk
5a19a7c8e8 IPC: Fix potential deadlock in win32 NamedPipe implementation
We use a manual-reset event rather than an auto-reset event to cancel IO
on the pipe. This avoids unlucky cases where new IO would start just
after signalling the event and would block indefinitely while waiting on
the newly-unsignalled event.
2020-11-25 12:50:44 +00:00
reuk
c5136d28b7 NamedPipe: Avoid spurious test failures due to pipe name collisions 2020-11-24 14:45:50 +00:00
reuk
ac612693aa NamedPipe: Fix potential vptr data-race in unit tests 2020-11-23 13:46:06 +00:00
reuk
389e7436ef
IPC: Add some missing locks in native NamedPipe implementations 2020-11-23 12:45:36 +00:00
reuk
9b90398cf9
IPC: Fix occasional windows crash
As far as I can tell, if a read was cancelled from a background thread,
the IO operation wasn't cancelled, so the system was poking at the
stack-allocated OVERLAPPED structure after it had been removed from the
stack, at which point something else might be occupying that region of
stack memory.

I'm pretty sure Address Sanitizer should be able to catch this sort of
thing so I'm surprised it didn't complain here.
2020-11-20 12:14:49 +00:00
reuk
84be2fea9a
IPC: Avoid deadlocks when destroying pipes
Previously, calls to `open` blocked when creating a writeable pipe.

This could cause other calls to block indefinitely, waiting for the pipe
to become available.

Now, we open the pipe in nonblocking mode, which allows us to retry
indefinitely, checking `stopReadOperation` each time to find out whether
`close` has been called and allowing a graceful exit.
2020-11-16 20:14:16 +00:00
reuk
472fac976b
IPC: Prevent disconnection while a read is in progress 2020-11-16 20:13:46 +00:00
reuk
a70101e3ec
IPC: Allow setting custom timeouts in disconnect
Also allows optionally ignoring callbacks during disconnect, so that the
call to `connectionLost` can be bypassed when disconnect is called from
the derived class destructor.
2020-11-16 20:13:46 +00:00
reuk
750c982c1d
Camera: Warn when adding a preview component after starting capture on macOS 2020-11-16 17:22:00 +00:00
reuk
f1362dbb93
Camera: Make addListener trigger continuous photo capture on iOS 2020-11-16 17:22:00 +00:00
reuk
fc0d1814eb
Projucer: Add iOS 14.0 deployment target option 2020-11-16 17:22:00 +00:00
ed
8ee13b78ba Avoid drawing TextEditor "empty" text when it isn't visible 2020-11-16 16:10:13 +00:00
ed
e0883ace58 macOS: Updated the required deployment target for WKWebView 2020-11-16 14:01:29 +00:00
reuk
f29e2de715
CMake: Propagate more definitions from shared-code to plugin wrappers
In order to avoid collisions in the JucePlugin_Build preprocessor
definitions, we were only propagating the JUCE_MODULE_AVAILABLE defs
from the shared code target to the plugin wrapper targets.

After this change, we propagate everything *but* the JucePlugin_Build
definitions.
2020-11-16 10:14:55 +00:00
reuk
e0110e62bb
CMake: Recommend using target_sources(... PRIVATE) in examples 2020-11-16 10:14:54 +00:00
reuk
5595e7f9f4
CMake: Avoid warnings when requesting AAX/VST2 on iOS 2020-11-16 10:14:54 +00:00
reuk
4a036afe32
CMake: Make it easier to switch between simulator/device builds
We now link using `-framework Name` instead of `find_library` on iOS, as
suggested here:

https://cmake.org/cmake/help/v3.19/manual/cmake-toolchains.7.html#switching-between-device-and-simulator
2020-11-16 10:14:54 +00:00
reuk
43c692e20d
DSP: Fix typo in Convolution docs 2020-11-16 10:14:54 +00:00
reuk
62c00e6f3c
CMake: Invoke Rez using xcrun, rather than using a hard-coded path 2020-11-16 10:14:54 +00:00
ed
42391ce309 Projucer: Made preprocessor define precedence consistent when not using a global AppConfig file
When a global AppConfig file is not added to a project, preprocessor defines from project, exporter and target settings now override defines that would have been in this file, matching the previous behaviour.
2020-11-16 09:01:41 +00:00
ed
36f1197536 macOS: Forward key events from WKWebView correctly
Also added support for selectAll: selector forwarding in NSViewComponentPeer
2020-11-13 18:16:04 +00:00
ed
5ae32084a7 Made the assertion in the Timer destructor slightly less strict 2020-11-13 18:16:04 +00:00
ed
884f2c1332 Windows: Use Thread::sleep() instead of yield() when waiting for ChildProcess output to avoid eating CPU 2020-11-11 17:38:51 +00:00
ed
f46b60280e Projucer: Don't set makeCamelCase argument when creating plug-in template class name 2020-11-05 16:53:17 +00:00
ed
4ec4178a21 build_tools: Changed the capitalise argument of makeValidIdentifier() to makeCamelCase to make it clearer what it actually does 2020-11-05 16:52:41 +00:00
Tom Poole
b4d101d86b PluginHost: Removed the juce_video module from CMakeLists.txt 2020-11-04 09:33:39 +00:00
ed
270e056e40 CoreAudio: Fixed a data race on isWaitingForInput in DeviceWrapper 2020-11-03 17:07:47 +00:00
ed
09ecc0ebef Linux: Fixed a use-after-free in XWindowSystem::findDisplays() 2020-11-03 17:07:38 +00:00
reuk
df3b49fbd3 VST2: Fix conversion warnings on Linux 2020-11-03 15:20:16 +00:00
Tom Poole
761eb566f5 Fixed some compiler warnings 2020-11-03 14:51:40 +00:00
Tom Poole
8070fa0ec4 Fixed some compiler warnings 2020-11-03 14:01:49 +00:00
Tom Poole
e670701ca7 PluginHost: Removes the video module 2020-11-03 11:44:42 +00:00
ed
1e532b2ae0 macOS: Use objc_msgSendSuper_stret() for return types > 8 bytes in 32-bit builds 2020-11-03 09:46:18 +00:00
ed
3f78998b96 Linux: Fixed semi-transparent windows not rendering correctly
Previously we were choosing a Visual and Colormap on initialisation of the X11 Display which could lead to bugs when opening a window with different visual and colour requirements. This commit makes 16, 24 and 32-bit visuals available and chooses the correct one when opening a window.
2020-11-02 15:46:45 +00:00
ed
7901eb6ca1 Linux: Use synchronous X11 error handling in debug builds 2020-11-02 15:46:18 +00:00
Tom Poole
d1bb4d61f0 AAX: Fixes an Xcode compiler warning
Ignore tautological-overlap-compare in the AAX headers
2020-10-31 09:25:45 +00:00
Tom Poole
a357e548a3 AAX: Fixes an Xcode compiler warning
Ignore tautological-overlap-compare in the AAX headers
2020-10-31 08:29:25 +00:00
reuk
35277443e4 SystemStats: Use new dictionaryWithContentsOfURL signature 2020-10-29 15:53:33 +00:00
reuk
4fd3dfb51b FileChooser: Temporarily silence deprecation warnings on iOS 2020-10-29 15:53:33 +00:00
reuk
d236964410 PluginList: Fix revealing plugins 2020-10-29 15:53:33 +00:00
reuk
6811242371 VST2: Fix conversion warnings on Linux 2020-10-29 15:53:33 +00:00
reuk
fb83c45a9d IPC: Fix race condition when destroying connections
It was possible to encounter data races when when requesting connection
callbacks on the message thread, but creating/destroying connection
objects on a background thread.

This change ensures that a message will not be processed if the
destination connection is destroyed before the message is delivered.
2020-10-29 13:02:12 +00:00
ed
bef6a91294 Linux: Made the Desktop singleton usable when running headless 2020-10-27 12:39:16 +00:00
ed
f05ae1c709 Added Desktop::isHeadless() method 2020-10-27 12:39:11 +00:00
ed
1f2a7b759d Added documentation to Desktop::getDisplays() 2020-10-27 12:39:06 +00:00
ed
b7e28541ca Replaced deprecated Displays methods 2020-10-27 12:38:59 +00:00
ed
c21241549b Deprecated some methods in the Display class
Deprecated methods returning a Display& in favour of new methods returning a Display* which return nullptr when running on a system with no connected displays.
2020-10-27 12:38:48 +00:00
reuk
ea86c0db82 PopupMenu: Update WidgetsDemo 2020-10-26 17:04:49 +00:00
reuk
f61447fd01 PopupMenu: Allow manual column breaking 2020-10-26 17:04:49 +00:00