diff --git a/src/gui/kernel/qrasterwindow.cpp b/src/gui/kernel/qrasterwindow.cpp index 19d84c601d8..7888db67777 100644 --- a/src/gui/kernel/qrasterwindow.cpp +++ b/src/gui/kernel/qrasterwindow.cpp @@ -38,10 +38,9 @@ public: { Q_Q(QRasterWindow); const QSize size = q->size(); - if (backingstore->size() != size) { + if (backingstore->size() != size) backingstore->resize(size); - markWindowAsDirty(); - } + backingstore->beginPaint(region); } @@ -102,6 +101,13 @@ QPaintDevice *QRasterWindow::redirected(QPoint *) const return d->backingstore->paintDevice(); } +void QRasterWindow::resizeEvent(QResizeEvent *) +{ + Q_D(QRasterWindow); + if (d->backingstore->size() != size()) + d->markWindowAsDirty(); +} + QT_END_NAMESPACE #include "moc_qrasterwindow.cpp" diff --git a/src/gui/kernel/qrasterwindow.h b/src/gui/kernel/qrasterwindow.h index 05d71e16552..986bf6b511d 100644 --- a/src/gui/kernel/qrasterwindow.h +++ b/src/gui/kernel/qrasterwindow.h @@ -23,6 +23,7 @@ public: protected: int metric(PaintDeviceMetric metric) const override; QPaintDevice *redirected(QPoint *) const override; + void resizeEvent(QResizeEvent *event) override; private: Q_DISABLE_COPY(QRasterWindow)