diff options
author | Miikka Heikkinen <miikka.heikkinen@digia.com> | 2010-09-30 07:42:21 (GMT) |
---|---|---|
committer | Miikka Heikkinen <miikka.heikkinen@digia.com> | 2010-09-30 08:45:41 (GMT) |
commit | 0725abc4607755833a1eb7cb9e083add48d03a88 (patch) | |
tree | 8e709eaa86d43bf44a4117eeb9f0d400af5a5d55 | |
parent | b9ab21b03dfebc7c5f8b4cbc2fdd2b880c7d9f99 (diff) | |
download | Qt-0725abc4607755833a1eb7cb9e083add48d03a88.zip Qt-0725abc4607755833a1eb7cb9e083add48d03a88.tar.gz Qt-0725abc4607755833a1eb7cb9e083add48d03a88.tar.bz2 |
Fix QApplication::desktop()->availableGeometry() for Symbian
Since screen geometry changes before client area geometry is
changed in Eikon, we need to send two resize events, one for screen
area change and one for client area change.
Note that the correct way to detect client area change in applications
is to connect to QApplication::desktop() signal workAreaResized(int)
instead of filtering for resize events meant for QDesktopWidget.
Task-number: QTBUG-14058
Reviewed-by: Jason Barron
-rw-r--r-- | src/gui/kernel/qapplication_s60.cpp | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/src/gui/kernel/qapplication_s60.cpp b/src/gui/kernel/qapplication_s60.cpp index 2be3ed3..1127c84 100644 --- a/src/gui/kernel/qapplication_s60.cpp +++ b/src/gui/kernel/qapplication_s60.cpp @@ -673,6 +673,9 @@ void QSymbianControl::HandleStatusPaneSizeChange() { QS60MainAppUi *s60AppUi = static_cast<QS60MainAppUi *>(S60->appUi()); s60AppUi->HandleStatusPaneSizeChange(); + // Send resize event to trigger desktopwidget workAreaResized signal + QResizeEvent e(qt_desktopWidget->size(), qt_desktopWidget->size()); + QApplication::sendEvent(qt_desktopWidget, &e); } #endif |