diff options
Diffstat (limited to 'src/gui/kernel/qguiapplication.cpp')
-rw-r--r-- | src/gui/kernel/qguiapplication.cpp | 9 |
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); } |