From 13f83f8e0cd7c247d58a1cf5a2f3f4e661e0deb3 Mon Sep 17 00:00:00 2001 From: Allan Sandfeld Jensen Date: Wed, 13 Sep 2023 08:57:03 +0200 Subject: [PATCH] Compress UpdateLater events Handle UpdateLater events in QApplication::compressEvents Change-Id: I0c63f88d8ed90fc56c093c534394461797d1336b Reviewed-by: Volker Hilsheimer (cherry picked from commit cb42c940787cf8c44e11f2b650d81c3d1eff1580) Reviewed-by: Qt Cherry-pick Bot --- src/widgets/kernel/qapplication.cpp | 5 +++++ src/widgets/kernel/qwidget_p.h | 1 + 2 files changed, 6 insertions(+) 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; };