diff -r dee5afe5301f -r 3f74d0d4af4c src/gui/dialogs/qdialog.cpp --- a/src/gui/dialogs/qdialog.cpp Mon Mar 15 12:43:09 2010 +0200 +++ b/src/gui/dialogs/qdialog.cpp Thu Apr 08 14:19:33 2010 +0300 @@ -69,7 +69,6 @@ # include "qfontdialog.h" # include "qcolordialog.h" # include "qwizard.h" -# include "qmenubar.h" #endif #if defined(Q_WS_S60) @@ -415,8 +414,15 @@ result = true; } #else - if ((e->type() == QEvent::StyleChange) || (e->type() == QEvent::Resize )) - adjustPosition(parentWidget()); + if ((e->type() == QEvent::StyleChange) || (e->type() == QEvent::Resize )) { + if (!testAttribute(Qt::WA_Moved)) { + Qt::WindowStates state = windowState(); + adjustPosition(parentWidget()); + setAttribute(Qt::WA_Moved, false); // not really an explicit position + if (state != windowState()) + setWindowState(state); + } + } #endif return result; } @@ -522,12 +528,6 @@ #endif //Q_WS_WINCE_WM #ifdef Q_OS_SYMBIAN -#ifndef QT_NO_MENUBAR - QMenuBar *menuBar = 0; - if (!findChild()) - menuBar = new QMenuBar(this); -#endif - if (qobject_cast(this) || qobject_cast(this) || qobject_cast(this) || qobject_cast(this)) showMaximized(); @@ -559,13 +559,6 @@ delete menuBar; #endif //QT_NO_MENUBAR #endif //Q_WS_WINCE_WM -#ifdef Q_OS_SYMBIAN -#ifndef QT_NO_MENUBAR - else if (menuBar) - delete menuBar; -#endif //QT_NO_MENUBAR -#endif //Q_OS_SYMBIAN - return res; } @@ -807,11 +800,11 @@ void QDialog::showEvent(QShowEvent *event) { if (!event->spontaneous() && !testAttribute(Qt::WA_Moved)) { - Qt::WindowStates state = windowState(); + Qt::WindowStates state = windowState(); adjustPosition(parentWidget()); setAttribute(Qt::WA_Moved, false); // not really an explicit position - if (state != windowState()) - setWindowState(state); + if (state != windowState()) + setWindowState(state); } }