diff options
Diffstat (limited to 'src/gui/painting/qbackingstore.cpp')
-rw-r--r-- | src/gui/painting/qbackingstore.cpp | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/src/gui/painting/qbackingstore.cpp b/src/gui/painting/qbackingstore.cpp index fdbdef0..5321ce2 100644 --- a/src/gui/painting/qbackingstore.cpp +++ b/src/gui/painting/qbackingstore.cpp @@ -832,6 +832,10 @@ QWidgetBackingStore::QWidgetBackingStore(QWidget *topLevel) QWidgetBackingStore::~QWidgetBackingStore() { + for (int c = 0; c < dirtyWidgets.size(); ++c) { + resetWidget(dirtyWidgets.at(c)); + } + delete windowSurface; windowSurface = 0; delete dirtyOnScreenWidgets; @@ -843,7 +847,7 @@ QWidgetBackingStore::~QWidgetBackingStore() void QWidgetPrivate::moveRect(const QRect &rect, int dx, int dy) { Q_Q(QWidget); - if (!q->isVisible()) + if (!q->isVisible() || (dx == 0 && dy == 0)) return; QWidget *tlw = q->window(); |