macOS: Don't trigger deferred needsDisplay when using timer-based requestUpdate

We've reverted to using the default timer-based request-update mechanism
for now, so the code in [QNSView updateRegion:] needs to ensure it's only
triggering a deferred needsDisplay if requestUpdate was done via the
(now disabled) [QNSview requestUpdate], which uses setNeedsDisplay.

Task-number: QTBUG-68048
Task-number: QTBUG-68047
Change-Id: I0421a32773908daa0f1be0075f4f2d25c90c8aea
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
This commit is contained in:
Tor Arne Vestbø 2018-05-02 13:58:08 +02:00
parent c9b46a130e
commit 6257ccd4b8

View File

@ -358,7 +358,7 @@ Q_LOGGING_CATEGORY(lcQpaTablet, "qt.qpa.input.tablet")
m_platformWindow->handleExposeEvent(dirtyRegion);
}
if (windowPrivate->updateRequestPending) {
if (m_updateRequested && windowPrivate->updateRequestPending) {
// A call to QWindow::requestUpdate was issued during event delivery above,
// but AppKit will reset the needsDisplay state of the view after completing
// the current display cycle, so we need to defer the request to redisplay.