1
0
Fork 0
mirror of https://github.com/juce-framework/JUCE.git synced 2026-01-09 23:34:20 +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,7 +53,7 @@ public:
void setWindowScene (UIWindowScene* x) API_AVAILABLE (ios (13.0)) void setWindowScene (UIWindowScene* x) API_AVAILABLE (ios (13.0))
{ {
if (std::exchange (windowScene, x) != x) windowScene = x;
listeners.call ([] (auto& l) { l.windowSceneChanged(); }); listeners.call ([] (auto& l) { l.windowSceneChanged(); });
} }
@ -549,6 +549,23 @@ private:
if (isSharedWindow) if (isSharedWindow)
return; 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* auto* newWindow = std::invoke ([&]() -> JuceUIWindow*
{ {
if (@available (iOS 13, *)) if (@available (iOS 13, *))