1
0
Fork 0
mirror of https://github.com/juce-framework/JUCE.git synced 2026-01-13 00:04:19 +00:00
Commit graph

357 commits

Author SHA1 Message Date
Anthony Nicholls
5e803ded5f Deprecations: Add ignore deprecation warning macros 2024-11-27 11:07:04 +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
67396435e5
DynamicObject: Add virtual functions that are called to indicate a property change 2024-10-20 22:59:39 +01:00
Anthony Nicholls
1e5c88899e JSON: Use UTF8 encoding by default 2024-09-06 15:40:39 +00:00
attila
95e71b10b0 FixedSizeFunction: Replace std::aligned_storage_t to avoid C++23 warning
We are ignoring warning 4324, which warns us that a FixedSizeFunction<4>
will have it's size increased to 8 bytes, due to the minimum alignment
requirement of 8 bytes.
2024-08-15 11:15:15 +02:00
Anthony Nicholls
2e6ee49cfa ListenerList: Add a LightweightListenerList class
When extra guarantees were added to ListenerList to guard against mutations of
the list from callbacks, it also resulted in removing a previously observable
guarantee that calls to the listeners could be made concurrently as long as
those listeners were themselves thread safe. This commit adds a new class that
restores that behaviour for anybody who needs it.
2024-08-01 16:10:09 +00:00
reuk
ef31cbb620
DynamicObject: Make virtual functions non-virtual 2024-07-29 16:09:53 +01:00
Anthony Nicholls
0d8f2c63ec ListenerList: Assert if initialisation could throw for any reason other than a bad allocation 2024-06-27 14:17:37 +01:00
Anthony Nicholls
06fb8f4ea2 ListenerList: Fix a bug where removing a listener during a callback in which it had also been added prevents other listeners from being called 2024-06-27 14:14:25 +01:00
Anthony Nicholls
43762c7575 ListenerList: Move unit tests into separate file 2024-06-27 14:14:25 +01:00
Anthony Nicholls
29cb346db2 ListenerList: Prevent a data race while clearing the list 2024-06-13 11:22:04 +01:00
Anthony Nicholls
c4d5ffa7ab ListenerList: Add a thread safe ListenerList type 2024-06-07 20:25:39 +01:00
Anthony Nicholls
0dfff1454c ListenerList: Optimise empty listener list 2024-06-07 20:25:39 +01:00
Tom Poole
94d98a2b10 Update licensing information 2024-04-16 11:39:35 +01:00
Anthony Nicholls
fe00442335 Copyright: Fix incorrect or inconsistent copyright notices 2024-03-25 10:22:58 +00:00
Tom Poole
a028f277c1 Docs: Fix a typo 2024-01-31 12:43:33 +00:00
reuk
047448fbce
Warnings: Add missing overrides 2024-01-30 11:37:30 +00:00
Anthony Nicholls
67570d34c4 ListenerList: Prevent calling any listeners that are added during a callback
This fixes an edge case in which if listeners are both removed and added during a callback the added listener(s) may be called during the same iteration
2024-01-15 17:17:58 +00:00
Anthony Nicholls
b05b73fb49 ListenerList: Fix some edge cases when iterating the listeners
- Prevent out of scope access of the listeners lock
- Allow clearing the listener list from a callback
2024-01-12 11:22:03 +00:00
reuk
224c4f706b
JSON: Add new JSON::Formatter for configuring JSON output
This also fixes an issue where MIDI CI header data could contain spaces,
which is not allowed according to the spec.
2023-12-06 20:25:22 +00:00
Tom Poole
2c7043319b Doxygen updates 2023-11-20 13:14:20 +00:00
reuk
387ab88c13
Span: Add missing move constructors 2023-10-31 10:58:06 +00:00
reuk
cb44d72b78
EnumerateIterator: Add utility for concisely enumerating ranges 2023-10-30 14:45:24 +00:00
Tom Poole
6bf9bb9a2e Add final specifiers in implementation files 2023-10-10 16:12:38 +01:00
Anthony Nicholls
158220ddfa Formatting: Use nested namespace definitions 2023-10-09 14:49:18 +01:00
Nathan Blair
65f55e17ac Docs: abstract FIFO example 2023-10-02 16:43:15 +01:00
Tom Poole
4153d59e39 Formatting 2023-10-02 15:42:20 +01:00
reuk
dd30569b3e
Formatting: Add missing newlines 2023-09-27 15:22:11 +01:00
reuk
d8b71b4eef
VariantConverter: Use FromVar and ToVar as a fallback 2023-09-26 11:21:45 +01:00
reuk
1bc90055b9
DynamicObject: Add const overload for getProperties 2023-09-26 11:05:56 +01:00
reuk
a4dfd8d6c6
FixedSizeFunction: Allow sinking of rvalue arguments for functions returning void 2023-09-20 18:40:53 +01:00
Tom Poole
9b041f3d74 Add a base clang-tidy configuration 2023-09-18 11:24:19 +01:00
Oliver James
7d9cdd3016 Audio: Add AudioWorkgroup support
This allows real-time threads to join an audio workgroup on Apple platforms.
2023-08-30 12:03:47 +01:00
reuk
6420ab31b6
DynamicObject: Update signature of clone to return unique_ptr 2023-08-23 20:31:54 +01:00
reuk
679a33d657
ScopeGuard: Add new heavyweight ErasedScopeGuard type 2023-08-23 20:31:54 +01:00
Tom Poole
ff835be2ac Doxygen: Fix some Doxygen issues 2023-07-17 18:24:01 +01:00
reuk
c93ac07202
Array: Add missing floating point equality warning suppression 2023-04-11 12:36:19 +01:00
reuk
28414a6af8
Global: Avoid floating-point equality checks where possible 2023-04-04 19:55:11 +01:00
reuk
f1f68007c6 Containers: Add simple Span implementation 2023-02-14 22:29:01 +00:00
Tom Poole
a28597c3c9 Fix GCC 12 compiler warnings 2023-01-31 12:54:56 +00:00
reuk
b46edc31ce
Optional: Make operator bool() explicit 2023-01-04 15:00:33 +00:00
reuk
2dc90bd6e6
Variant: Remove unnecessary definitions of static constexpr data members 2022-12-07 13:12:01 +00:00
reuk
28f2157912
Convert ignoreUnused to [[maybe_unused]] 2022-12-01 11:41:50 +00:00
reuk
7c14c1fcd7
Use more concise stdlib type aliases 2022-09-26 18:03:47 +01:00
reuk
7391d18b8e
Optional: Implement in terms of std::optional 2022-09-12 16:14:57 +01:00
Tom Poole
784f82ffec
Fix some Doxygen issues 2022-06-16 16:19:10 +01:00
reuk
891daf1332
Optional: Update implementation to improve debugging experience
This patch also makes Optional public to end users.
2022-06-16 16:17:53 +01:00
Tom Poole
2ec861d99e Update licensing banners to JUCE 7 2022-05-16 17:55:48 +01:00
attila
e6cf6ab064 ListenerList: Modify iterator during removals to guarantee callback 2022-05-11 16:06:18 +02:00
reuk
5705a83065
ListenerList: Remove deprecation warning 2022-04-22 14:18:49 +01:00