diff --git a/src/widgets/kernel/qapplication.cpp b/src/widgets/kernel/qapplication.cpp index 062ff92c0ec..bfef2d2cb0d 100644 --- a/src/widgets/kernel/qapplication.cpp +++ b/src/widgets/kernel/qapplication.cpp @@ -792,6 +792,7 @@ bool QApplication::compressEvent(QEvent *event, QObject *receiver, QPostEventLis const QEvent::Type type = event->type(); switch (type) { case QEvent::UpdateRequest: + case QEvent::UpdateLater: case QEvent::LayoutRequest: case QEvent::Resize: case QEvent::Move: @@ -820,6 +821,10 @@ bool QApplication::compressEvent(QEvent *event, QObject *receiver, QPostEventLis static_cast(postedEvent.event)->m_pos = static_cast(event)->pos(); break; + case QEvent::UpdateLater: + static_cast(postedEvent.event)->m_region += + static_cast(event)->region(); + break; case QEvent::UpdateRequest: case QEvent::LanguageChange: case QEvent::LayoutRequest: diff --git a/src/widgets/kernel/qwidget_p.h b/src/widgets/kernel/qwidget_p.h index 07153e71293..8a86b069a0e 100644 --- a/src/widgets/kernel/qwidget_p.h +++ b/src/widgets/kernel/qwidget_p.h @@ -82,6 +82,7 @@ public: inline const QRegion ®ion() const { return m_region; } protected: + friend class QApplication; QRegion m_region; };