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
attila
d246cc280d
MessageManager: Add mutex to isThisTheMessageThread() and setCurrentThreadAsMessageThread()
2022-07-14 19:18:27 +00: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
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
ed
11d872ea1b
MessageMananger: Made dispatchNextMessageOnSystemQueue() accessible by internal code
2021-04-13 16:25:04 +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
ed
a54da0b832
Fixed some more typos
2020-01-07 08:53:23 +00:00
reuk
c80285463a
MessageManager: Obey the rule of useful return in callAsync
2019-08-30 17:13:21 +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
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
87042769b6
Tidied up some more old typedefs
2018-05-11 14:44:51 +01:00
jules
dee78f29f6
Misc cleanups and modernisation
2018-05-11 12:46:30 +01:00
jules
38295f332b
Converted some old typedefs to using declarations
2018-05-03 09:59:05 +01:00
Tom Poole
ab863a6dc2
Replaced all usage of ScopedPointer with std::unique_ptr
2018-04-19 20:27:47 +01:00
ed
cdbc28c18b
Add documentation tags
2018-03-15 12:10:32 +00:00
Tom Poole
8cecf0baf9
Assorted threading and undefined behaviour fixes
2017-12-11 16:37:17 +00:00
hogliux
b9b34393d1
Improved scheduling when multiple threads are fighting for the MessageManagerLock
2017-10-19 12:55:37 +01:00
jules
970eda679e
Added 'final' keyword to a lot of classes from which you really shouldn't be inheriting!
2017-10-09 12:38:06 +01:00
jules
eda613c6db
Moved all "namespace juce" declarations from module headers to the individual .h and .cpp source files. This makes life a lot easier for Intellisense and other IDE autocompletion tools
2017-09-08 08:59:55 +01:00
hogliux
b5afccc37c
Updated file headers and the README with the JUCE 5 license
2017-04-27 14:43:04 +01:00
tpoole
23ba2e49cf
Fixed VS2013 assignment operator compiler warnings
2017-04-20 12:24:49 +01:00
jules
60e9231fb1
Removed need for std::function in order to use MessageManager::callAsync(). Used it to modernise a few bits of old code.
2017-03-29 15:31:41 +01:00
hogliux
42305de6da
Added method OpenGLContext::executeOnGLThread to help executing gl house-keeping tasks on the gl thread even when the message manager is locked
2017-02-14 20:20:32 +00:00
hogliux
2da1bc5f41
Replace include guards with "#pragma once"
2017-02-01 17:18:07 +00:00
tpoole
2e84129479
Updated the juce_audio_basics, juce_audio_devices, juce_blocks_basics, juce_core and juce_events modules to a new ISC license
2016-12-14 10:07:26 +00:00
jules
2a1234b6ac
Simplified some inter-module dependencies and exception-catching fallbacks
2015-12-23 11:47:18 +00:00
jules
82b0a3628b
Added some comments regarding MessageManagerLocks
2015-12-14 09:48:25 +00:00
jules
02492b36b9
Lots of small whitespace tweaks.
2015-12-13 19:32:05 +00:00
hogliux
c7b8e77031
Update copyright notice
2015-07-22 15:59:34 +01:00
jules
89854c55b9
Added flag JUCE_COMPILER_SUPPORTS_LAMBDAS
2014-10-08 11:26:55 +01:00
jules
df3e039bf9
Added a handy static method MessageManager::callAsync() which can asynchronously invoke a lambda on the message thread.
2014-10-07 17:15:19 +01:00
jules
7b8ab7b503
Changed MessageBase::post() to return a bool to detect failure in the OS message queue (which can happen under stress on win32), and used this to avoid some messaging classes getting stuck.
2014-07-16 21:33:11 +01:00
jules
42482fc5db
Spelling fix.
2014-03-14 21:47:37 +00:00
jules
42aa27900b
Moved most of the functionality from JUCEApplication into JUCEApplicationBase, so that it can be used without needing juce_gui_basics to be present.
2013-09-07 09:43:45 +01:00
jules
5a1112ab94
Updated the format of the header include guard macros.
2013-07-17 16:26:35 +01:00
jules
03c2801f3f
Copyright header update in all module files. juce_core modules are now ISC licensed. All other modules are GPLv2/3/AGPLv3
2013-06-13 13:17:12 +01:00
jules
ad33fca65a
Minor clean-ups and documentation.
2013-02-07 09:45:56 +00:00
jules
0ceeb573d8
Minor changes to avoid pedantic compiler warnings.
2012-12-04 21:39:15 +00:00
jules
93a86b2600
TabbedButtonBar fix. Small clean-ups.
2012-04-02 11:43:06 +01:00
jules
e905f52014
More internal message class refactoring/decoupling.
2012-03-24 18:37:44 +00:00
jules
31209dadfc
Simplified some message-handling code.
2012-03-24 11:38:05 +00:00
jules
a90aedce50
Small updates to ComponentBuilder, UnitTestRunner.
2012-01-20 18:20:19 +00:00
jules
a997490f17
Updated the OpenGLComponent so that it can render sub-components when using a background thread, and changed the demo to use this mode (which is faster).
2011-12-23 10:33:05 +00:00
Julian Storer
b70e0a28d2
First check-in of the "jucequake": a major re-organisation of the library to break it up into modules. For more details about this, see the website forum..
2011-08-12 10:04:52 +01:00