Conversation
ObjCClass doesn't have other virtual methods; it is not intended to be used as an interface or dynamic type. Removing the virtual destructor is intended to promote composition over inheritance when using this type.
This type will be used to monitor UMP endpoint changes in an upcoming commit.
… between translator and extractor
…scope
Fixes an issue where primitives such as text could end up with sharp
edges when creating temporary contexts:
void paint (Graphics& g)
{
g.fillAll (Colours::white);
const auto preferredType = g.getInternalContext().getPreferredImageTypeForTemporaryImages();
Image img (Image::ARGB, getWidth(), getHeight(), false, *preferredType);
{
Graphics g2 (img);
}
g.setColour (Colours::black);
g.setFont (32);
g.drawText ("test", getLocalBounds(), Justification::centred);
}
… more gracefully" This reverts commit 3c1012b. This change caused the AudioDeviceManager to open a fallback device if the device name was empty, the requested number of channels was positive, and selectDefaultDeviceOnFailure was true. The new behaviour conflicted with the documented behaviour of initialise(). The number of input/output channels is to be treated as a maximum, rather than a preferred count. If a positive channelsNeeded is requested but the device name is empty, a default device should not be opened since the actual number of channels (0) is lower than the maximum specified number.
…aximised to the wrong size This issue presented after the following sequence of steps: - Display a window with a non-native titlebar - Maximise it - Click the taskbar icon to minimise it - Click the taskbar icon again to maximise it After being maximised for the second time, the window bounds were too large for the display. This is because the check in WM_NCCALCSIZE was failing to determine the target monitor for the window, and therefore failing to adjust the new area appropriately. We now determine the target monitor based on the proposed new bounds of the new window, rather than the current bounds of the window, which may not be meaningful if the window is minimised.
…npaired surrogates There's a few things going on in this commit: - The implementation of CharPointer_UTF16 now uses helpers from CharacterFunctions to avoid a few instances of magic numbers. - Where it makes sense, member functions of that class have been DRYed by e.g. implementing getAndAdvance in terms of operator*() and operator++(). - Added more tests for incrementing/decrementing/dereferencing CharPointer_UTF16. After this change, a CharPointer_UTF16 that points to an unpaired surrogate will always dereference to a 32-bit character with that surrogate's value. Note that dereferencing a CharPointer_UTF16 that points to a high surrogate at the final code unit in a memory region is inherently unsafe, because CharPointer_UTF16 can't track its own size, and the dereference operation will check the following code unit to see whether it is a low surrogate.
…HECK The CONFIG_STACK_CHECK option doesn't work correctly when the QuickJS engine is initialised on one thread and then later accessed by another thread, which is a usage pattern implicitly supported by JUCE.
Prior to this commit a Component with setBufferedToImage (true) could have its image buffer deleted when an OpenGL context was detached. This meant that this Component continued to be rendered without buffering even though it was previously requested that it use a buffer.
… adding it to new window This fixes an issue where the view would disappear and the window would become black when the window scene changed, e.g. because screen sharing was started.
…airs in createStringFromData()
CGImages created from a juce Image may be drawn after or during changes to the underlying data. This change copies the required data into a new buffer to ensure the CGImage data is always independent from the juce image data.
In a recent version of Xcode (26.1) release builds would crash the unittest runner during any tests using a std::vector<char32_t> where its data was reinterpreted as const CharPointer_UTF32::CharType*. Similar attempts were made to update the UTF8 a UTF16 tests, unfortunately avoiding a reinterpret_cast for UTF16 isn't as easy because CharPointer_UTF16 uses a signed integer type which makes the test data more awkward to work with.
Without this fix many of the component tests that appear in the following commit will fail for the Direct2D renderer only.
…manently stop audio processing
…ect size after expansion
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Update to JUCE 8.0.11, keeping our modifications