Windowed mode on iPad is partially broken with 8.0.11

Hi,

Using DemoRunner on a 13" iPad, the windowed mode use to work much better with JUCE 8.0.10 than with 8.0.11. See screenshots, the DemoRunner starts fullscreen , I double tap on the upper edge to bring it to windowed mode, and then touch the maximize button to bring it back to fullscreen. The size of the DemoRunner does not fill the screen , and it is now over the status bar.

I’m also having more issues with my app when resizing the window by dragging the lower right corner, but I can’t reproduce it with DemoRunner. I assume it might be because my app rebuilds its content on each resize and it takes a non-negligible amount of time.

All of this used to work perfectly fine with 8.0.10. With v8.0.11 it seems my app does not have “parentSizeChanged” called for each resize (it works for a few seconds, and then parentSizeChanged stops being called).

Reverting this change fixes the issue, except for the status bar issue:

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(); });
}



Thanks for reporting, it looks like we occasionally skipped processing window-size updates. The issue should be fixed here:

It seems to work, thanks !