summaryrefslogtreecommitdiffstats
path: root/src/plugins
diff options
context:
space:
mode:
Diffstat (limited to 'src/plugins')
-rw-r--r--src/plugins/platforms/qnx/qqnxrasterbackingstore.cpp7
-rw-r--r--src/plugins/platforms/qnx/qqnxwindow.cpp1
2 files changed, 7 insertions, 1 deletions
diff --git a/src/plugins/platforms/qnx/qqnxrasterbackingstore.cpp b/src/plugins/platforms/qnx/qqnxrasterbackingstore.cpp
index 7204e5bce9..6a7a4d0944 100644
--- a/src/plugins/platforms/qnx/qqnxrasterbackingstore.cpp
+++ b/src/plugins/platforms/qnx/qqnxrasterbackingstore.cpp
@@ -81,6 +81,12 @@ void QQnxRasterBackingStore::flush(QWindow *window, const QRegion &region, const
{
qRasterBackingStoreDebug() << Q_FUNC_INFO << "w =" << this->window();
+ // Sometimes this method is called even though there is nothing to be
+ // flushed, for instance, after an expose event directly follows a
+ // geometry change event.
+ if (!m_hasUnflushedPaintOperations)
+ return;
+
QQnxWindow *targetWindow = 0;
if (window)
targetWindow = static_cast<QQnxWindow *>(window->handle());
@@ -117,7 +123,6 @@ void QQnxRasterBackingStore::flush(QWindow *window, const QRegion &region, const
// We assume that the TLW has been flushed previously and that no changes were made to the
// backing store inbetween (### does Qt guarantee this?)
- Q_ASSERT(!m_hasUnflushedPaintOperations);
targetWindow->adjustBufferSize();
targetWindow->blitFrom(platformWindow, offset, region);
diff --git a/src/plugins/platforms/qnx/qqnxwindow.cpp b/src/plugins/platforms/qnx/qqnxwindow.cpp
index 4c95950a7e..87e59dac61 100644
--- a/src/plugins/platforms/qnx/qqnxwindow.cpp
+++ b/src/plugins/platforms/qnx/qqnxwindow.cpp
@@ -199,6 +199,7 @@ void QQnxWindow::setGeometry(const QRect &rect)
// could result in re-entering QQnxWindow::setGeometry() again.
QWindowSystemInterface::setSynchronousWindowsSystemEvents(true);
QWindowSystemInterface::handleGeometryChange(window(), rect);
+ QWindowSystemInterface::handleExposeEvent(window(), rect);
QWindowSystemInterface::setSynchronousWindowsSystemEvents(false);
// Now move all children.