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

139 commits

Author SHA1 Message Date
reuk
9112911122
MinGW: Remove support 2024-06-27 18:10:21 +01:00
Tom Poole
94d98a2b10 Update licensing information 2024-04-16 11:39:35 +01:00
attila
4f4ddf9733 AU Client: Use ScopedJuceInitialiser_GUI to ensure the MessageManager exists
This makes the AU Client compatible with other classes also using the
ScopedJuceInitialiser_GUI, specifically the ARADocumentController.
2024-01-02 16:34:54 +01:00
Anthony Nicholls
5c8b7fe0e1 MessageMangerLock: Fix a race condition 2023-10-13 16:23:15 +01:00
Tom Poole
6bf9bb9a2e Add final specifiers in implementation files 2023-10-10 16:12:38 +01:00
Tom Poole
4153d59e39 Formatting 2023-10-02 15:42:20 +01:00
reuk
d47a7d18c1
MessageManager::Lock: Protect Lock from concurrent accesses
Previously, the Lock was not thread-safe when multiple threads were
locking/unlocking a single Lock instance simultaneously. This
isn't normally a problem when using the MessageManagerLock type, because
each MessageManagerLock contains its own private MessageManager::Lock,
and it's not possible for multiple threads to modify that private lock.

This change improves safety when using a MessageManager::Lock in the
manner of a CriticalSection or other JUCE lock type.
2023-08-23 11:14:33 +01:00
reuk
33e81616ad
MessageManager: Improve thread safety of Lock type
Previously, the following sequence of events was possible:

Background thread                   Main thread
------------------------------------------------------------------------
Lock::tryAcquire()
    Run to blockingMessage->post()

                                    BlockingMessage::messageCallback()
                                        Run to abortWait.set (1)

Lock::tryAcquire()
    Exit through return true

Lock::~Lock()
    Destroy memory used for Lock

                                    BlockingMessage::messageCallback()
                                        Execute lockedEvent.signal()
                                        Memory already freed, crash
2023-05-02 19:37:47 +01:00
Anthony Nicholls
05d5c94990
Native: Rename all native files for improved consistency 2023-04-04 19:54:29 +01:00
reuk
10bd8235e7
Plugin Client: Move all private helper functions into detail namespace 2023-03-13 13:09:30 +00:00
attila
f9ff497978 CMake: Add embedded Linux subprocess for WebView support
In order to display a WebKit based webview a plugin will deploy a
temporary standalone executable on the system and host the WebKit
instance inside that.
2023-03-02 17:49:34 +00:00
reuk
c8753dcc9a
ApplicationBase: Assume UTF-8 commandline parameter encoding 2022-12-15 17:25:47 +00:00
attila
53619b927c Eliminate all usages of JUCE_STANDALONE_APPLICATION in the modules 2022-08-03 13:06:55 +00:00
attila
d246cc280d MessageManager: Add mutex to isThisTheMessageThread() and setCurrentThreadAsMessageThread() 2022-07-14 19:18:27 +00:00
Tom Poole
83176e23ca Add a version ID macro 2022-06-16 11:16:33 +01:00
Tom Poole
dea3fe60e4 Update copyright banners 2022-04-04 12:36:32 +01:00
ed
fc0f6b1f2f Tidy up 2021-12-02 09:24:55 +00:00
ed
b9542ccc4c Update code to use C++14 [[deprecated]] attribute
This commit removes the various compiler-specific JUCE_DEPRECATED macros and replaces them with C++14's deprecated attribute. It also removes the JUCE_CATCH_DEPRECATED_CODE_MISUSE flag as we can rely on the override specifier catching usage of these old virtual methods, and tidies up the DOXYGEN preprocessor checks as they were inconsistent across the codebase.
2021-09-29 16:14:00 +01:00
reuk
9199fa3c51
Warnings: Avoid triggering missing-prototypes warnings on macOS/iOS 2021-09-23 10:28:47 +01:00
ed
c799b56b60 Fix missing prototypes warnings 2021-08-16 16:08:45 +01:00
Tom Poole
fe4ba9071b Set the default value of JUCE_MODAL_LOOPS_PERMITTED to 0
See BREAKING-CHANGES.txt for more details.
2021-06-30 13:01:14 +01:00
reuk
a70488e38e MacOS: Fix API deprecations in macOS 12.0 and iOS 15.0 2021-06-10 15:20:39 +01:00
reuk
31a7c62baf
Windows: Fix and suppress some analysis warnings
This fixes warnings that are emitted when building with the `-analyze`
flag enabled.
2021-05-26 15:34:26 +01:00
ed
a8aafed53d Removed some unnecessary virtual keywords 2021-04-27 15:56:01 +01:00
ed
11d872ea1b MessageMananger: Made dispatchNextMessageOnSystemQueue() accessible by internal code 2021-04-13 16:25:04 +01:00
ed
76d5c07c66 MessageManager: Only reinitialise platform-specific code on Windows when calling setCurrentThreadAsMessageThread() 2021-04-08 11:51:41 +01:00
Tom Poole
79fbde7099 Added preliminary support for FreeBSD 2021-03-29 14:16:46 +01:00
ed
ceb410ca69 iOS: Fixed a linker error when compiling juce_events without juce_gui_basics 2020-05-22 16:46:52 +01:00
ed
2bfed0b354 Removed some unnecessary JUCE_MODULE_AVAILABLE_* checks 2020-05-22 16:46:52 +01:00
Tom Poole
894e7d2bd2 Updated all license headers 2020-04-23 17:30:39 +01:00
reuk
5f348c3040 Warnings: Add warning-wrangling header 2020-04-13 13:16:05 +01:00
ed
59a058fdc6 Fixed some warnings flagged up when enabling -Wswitch-enum, -Wswitch-default, -Wredundant-decls, and -Wimplicit-fallthrough 2020-03-09 17:39:28 +00:00
ed
a54da0b832 Fixed some more typos 2020-01-07 08:53:23 +00:00
ed
937991cc83 Fixed broken back button behaviour on Android and updated JUCEApplicationBase::backButtonPressed() to return a bool indicating whether the back event has been handled or not to override this behaviour 2019-08-30 22:03:39 +01:00
reuk
c80285463a MessageManager: Obey the rule of useful return in callAsync 2019-08-30 17:13:21 +01:00
ed
922730f685 Whitespace 2019-07-12 14:44:34 +01:00
Tom Poole
79d3e8b3f5 Windows: Removed some VS2013 workarounds 2019-07-11 15:28:41 +01:00
jules
0367d5c3a9 Added some PopupMenu::addItem overloads which let you attach a lambda callback to be invoked for a menu item. 2019-06-19 11:39:28 +01:00
Tom Poole
ff1dbf5f6d Added a missing JUCE_API 2019-03-19 12:55:21 +00:00
reuk
4a294eaa39 Allow moving into AsyncCallInvoker 2019-03-06 17:48:47 +00:00
ed
a234721110 Added various clang-tidy modernize-* fixes 2019-01-31 15:15:31 +00:00
jules
cadac817c6 Enabled some more warning flags in Xcode, and fixed the problems they caused 2019-01-11 09:52:10 +00:00
hogliux
008b7a9ab2 Re-structured the low-level Android native code
Please see the forum post "Re-structuring of JUCE’s low-level Android code" and the BREAKING-CHANGES.txt for more information.
2018-11-13 12:33:40 +00:00
ed
aae372d68c Fixed a typo in the docs for JUCEApplicationBase::moreThanOneInstanceAllowed() and clarified on which platforms ::anotherInstanceStarted() will be called 2018-11-01 09:46:20 +00:00
jules
5979288706 Added some macros for asserting when functions are called in an unsafe manner outside the message thread. 2018-10-16 17:39:54 +01:00
jules
6fda0bffca Fixed some stray zeros that were still being passed as null pointers 2018-10-05 12:15:04 +01:00
ed
2b918c1495 Fixed a couple of typos 2018-08-09 09:08:50 +01:00
jules
1e6bbb8da9 Added some methods to allow ReferenceCountedObjectPtrs to be constructed or copied from references as well as pointers - as well as increasing safety, this actually makes things a bit more efficient as it skips a nullptr check. Updated lots of places in the code that could take advantage of this 2018-07-03 11:51:13 +01:00
jules
974b4a8351 Removed some legacy friend class declarations that are no longer needed with modern compilers 2018-06-13 17:11:37 +01:00
jules
87042769b6 Tidied up some more old typedefs 2018-05-11 14:44:51 +01:00