summaryrefslogtreecommitdiffstats
path: root/src/plugins
diff options
context:
space:
mode:
authorFriedemann Kleint <Friedemann.Kleint@nokia.com>2012-07-24 09:40:20 +0200
committerQt by Nokia <qt-info@nokia.com>2012-07-31 20:25:36 +0200
commit5b49793d8048b51e3f671eb7c390a08999323876 (patch)
treee42faf1e986e5023ec368fa355b1e3c717d18748 /src/plugins
parent0e904279bd14c6d3d32165ff93d22d96e7ff6fd7 (diff)
Implement synchronous WS events by flushing.
Previously synchronous window system events were implemented by bypassing the queue and processing the event immediately. This is not ideal since the event order is not preserved - there might be "happened before" events waiting in the queue. Add QWindowSystemInterface::flushWindowSystemEvents and change all handleSynchronous* to 1) queue the event 2) call flushWindowSystemEvents. flushWindowSystemEvents is almost identical to the already existing sendWindowSystemEvents with the exception that it does not call QApp::sendPostedEvents. Move the common implementation to a new private function. Task-number: QTBUG-20778 Change-Id: Ie98a83875bc0a14e335e36bed0dd9e0ed4a1dea0 Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com> Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
Diffstat (limited to 'src/plugins')
-rw-r--r--src/plugins/platforms/windows/qwindowswindow.cpp6
1 files changed, 3 insertions, 3 deletions
diff --git a/src/plugins/platforms/windows/qwindowswindow.cpp b/src/plugins/platforms/windows/qwindowswindow.cpp
index 9d15240350..cdf1c2bf0f 100644
--- a/src/plugins/platforms/windows/qwindowswindow.cpp
+++ b/src/plugins/platforms/windows/qwindowswindow.cpp
@@ -795,11 +795,11 @@ void QWindowsWindow::setVisible(bool visible)
if (m_data.hwnd) {
if (visible) {
show_sys();
- QWindowSystemInterface::handleSynchronousExposeEvent(window(),
- QRect(QPoint(), geometry().size()));
+ QWindowSystemInterface::handleExposeEvent(window(),
+ QRect(QPoint(), geometry().size()));
} else {
hide_sys();
- QWindowSystemInterface::handleSynchronousExposeEvent(window(), QRegion());
+ QWindowSystemInterface::handleExposeEvent(window(), QRegion());
}
}
}