summaryrefslogtreecommitdiffstats
path: root/src/gui/kernel/qguiapplication.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/gui/kernel/qguiapplication.cpp')
-rw-r--r--src/gui/kernel/qguiapplication.cpp9
1 files changed, 4 insertions, 5 deletions
diff --git a/src/gui/kernel/qguiapplication.cpp b/src/gui/kernel/qguiapplication.cpp
index a19ae4824f..2aaa2e65f8 100644
--- a/src/gui/kernel/qguiapplication.cpp
+++ b/src/gui/kernel/qguiapplication.cpp
@@ -701,16 +701,18 @@ void QGuiApplicationPrivate::processGeometryChangeEvent(QWindowSystemInterfacePr
return;
QRect newRect = e->newGeometry;
- QRect cr = window->geometry();
+ QRect cr = window->d_func()->geometry;
bool isResize = cr.size() != newRect.size();
bool isMove = cr.topLeft() != newRect.topLeft();
window->d_func()->geometry = newRect;
- if (isResize) {
+ if (isResize || window->d_func()->resizeEventPending) {
QResizeEvent e(newRect.size(), cr.size());
QGuiApplication::sendSpontaneousEvent(window, &e);
+
+ window->d_func()->resizeEventPending = false;
}
if (isMove) {
@@ -925,9 +927,6 @@ void QGuiApplicationPrivate::processExposeEvent(QWindowSystemInterfacePrivate::E
QWindow *window = e->exposed.data();
- QResizeEvent resizeEvent(window->handle()->geometry().size(), window->size());
- QGuiApplication::sendSpontaneousEvent(window, &resizeEvent);
-
QExposeEvent exposeEvent(e->region);
QCoreApplication::sendSpontaneousEvent(window, &exposeEvent);
}