From 6f6d94acaefc202e2a922ff2ea672afa64490c4e Mon Sep 17 00:00:00 2001 From: Sami Merila Date: Fri, 14 Oct 2011 12:56:53 +0300 Subject: Maximized dialogs are incorrectly positioned after layout switch The native side seems to return StaCon pane height as zero in Belle. If no StaCon pane height is available, try to fetch Status Pane height and use that one. Task-number: QTBUG-22022 Reviewed-by: Miikka Heikkinen --- src/gui/dialogs/qdialog.cpp | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/gui/dialogs/qdialog.cpp b/src/gui/dialogs/qdialog.cpp index 2fb6c67..d2211af 100644 --- a/src/gui/dialogs/qdialog.cpp +++ b/src/gui/dialogs/qdialog.cpp @@ -909,6 +909,10 @@ bool QDialog::symbianAdjustedPosition() AknLayoutUtils::LayoutMetricsRect(AknLayoutUtils::EStatusPane, statusPaneRect); } else { AknLayoutUtils::LayoutMetricsRect(AknLayoutUtils::EStaconTop, statusPaneRect); + // In some native layouts, StaCon is not used. Try to fetch the status pane + // height from StatusPane component. + if (statusPaneRect.IsEmpty()) + AknLayoutUtils::LayoutMetricsRect(AknLayoutUtils::EStatusPane, statusPaneRect); } p.setX(0); -- cgit v0.12