QWidgetWindow: Fix handleExposeEvent()
authorDebao Zhang <dbzhang800@gmail.com>
Fri, 1 Jun 2012 10:36:32 +0000 (03:36 -0700)
committerQt by Nokia <qt-info@nokia.com>
Mon, 4 Jun 2012 07:08:21 +0000 (09:08 +0200)
When the associated widget of QWidgetWindow is visible but its
updates are not enabled, avoid marking the widget dirty.

Task-number: QTBUG-25991
Change-Id: Ibeac4c0dfd3198a5174372331e50628b0d3a480d
Reviewed-by: Miikka Heikkinen <miikka.heikkinen@digia.com>
Reviewed-by: Laszlo Agocs <laszlo.p.agocs@nokia.com>
src/widgets/kernel/qwidgetwindow_qpa.cpp

index 3b1d69e..21a0ada 100644 (file)
@@ -474,7 +474,7 @@ void QWidgetWindow::handleExposeEvent(QExposeEvent *event)
         m_widget->setAttribute(Qt::WA_Mapped);
         if (!event->region().isNull()) {
             // Exposed native widgets need to be marked dirty to get them repainted correctly.
-            if (m_widget->internalWinId() && !m_widget->isWindow()) {
+            if (m_widget->internalWinId() && !m_widget->isWindow() && m_widget->updatesEnabled()) {
                 if (QWidgetBackingStore *bs = m_widget->d_func()->maybeBackingStore())
                     bs->markDirty(event->region(), m_widget);
             }