1
0
Fork 0
mirror of https://github.com/juce-framework/JUCE.git synced 2026-01-08 23:24:19 +00:00

iOS: Always update peer bounds when window scene coordinate space is updated

This commit is contained in:
reuk 2025-12-08 14:07:08 +00:00
parent 4d1c9c9b12
commit 1b0911dda6
No known key found for this signature in database

View file

@ -53,8 +53,8 @@ public:
void setWindowScene (UIWindowScene* x) API_AVAILABLE (ios (13.0))
{
if (std::exchange (windowScene, x) != x)
listeners.call ([] (auto& l) { l.windowSceneChanged(); });
windowScene = x;
listeners.call ([] (auto& l) { l.windowSceneChanged(); });
}
UIWindowScene* getWindowScene() const API_AVAILABLE (ios (13.0))
@ -549,6 +549,23 @@ private:
if (isSharedWindow)
return;
const auto sceneDidChange = std::invoke ([&]
{
if (@available (iOS 13, *))
{
auto* currentScene = window != nil ? [window windowScene] : nil;
return windowSceneTracker->getWindowScene() != currentScene;
}
return false;
});
if (! sceneDidChange)
{
updateScreenBounds();
return;
}
auto* newWindow = std::invoke ([&]() -> JuceUIWindow*
{
if (@available (iOS 13, *))