diff options
Diffstat (limited to 'src/plugins/platforms/ios/qiosscreen.mm')
-rw-r--r-- | src/plugins/platforms/ios/qiosscreen.mm | 28 |
1 files changed, 15 insertions, 13 deletions
diff --git a/src/plugins/platforms/ios/qiosscreen.mm b/src/plugins/platforms/ios/qiosscreen.mm index c394592d76..96679eaccd 100644 --- a/src/plugins/platforms/ios/qiosscreen.mm +++ b/src/plugins/platforms/ios/qiosscreen.mm @@ -130,16 +130,14 @@ static QIOSScreen* qtPlatformScreenFor(UIScreen *uiScreen) // ------------------------------------------------------------------------- -@interface QIOSOrientationListener : NSObject { - @public - QIOSScreen *m_screen; -} -- (id)initWithQIOSScreen:(QIOSScreen *)screen; +@interface QIOSOrientationListener : NSObject @end -@implementation QIOSOrientationListener +@implementation QIOSOrientationListener { + QIOSScreen *m_screen; +} -- (id)initWithQIOSScreen:(QIOSScreen *)screen +- (instancetype)initWithQIOSScreen:(QIOSScreen *)screen { self = [super init]; if (self) { @@ -193,7 +191,7 @@ static QIOSScreen* qtPlatformScreenFor(UIScreen *uiScreen) @implementation QUIWindow -- (id)initWithFrame:(CGRect)frame +- (instancetype)initWithFrame:(CGRect)frame { if ((self = [super initWithFrame:frame])) self->_sendingEvent = NO; @@ -392,17 +390,21 @@ void QIOSScreen::deliverUpdateRequests() const QList<QWindow*> windows = QGuiApplication::allWindows(); for (int i = 0; i < windows.size(); ++i) { - if (platformScreenForWindow(windows.at(i)) != this) + QWindow *window = windows.at(i); + if (platformScreenForWindow(window) != this) + continue; + + QPlatformWindow *platformWindow = window->handle(); + if (!platformWindow) continue; - QWindowPrivate *wp = static_cast<QWindowPrivate *>(QObjectPrivate::get(windows.at(i))); - if (!wp->updateRequestPending) + if (!platformWindow->hasPendingUpdateRequest()) continue; - wp->deliverUpdateRequest(); + platformWindow->deliverUpdateRequest(); // Another update request was triggered, keep the display link running - if (wp->updateRequestPending) + if (platformWindow->hasPendingUpdateRequest()) pauseUpdates = false; } |