aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDominik Kapusta <dominik.kapusta@teleca.com>2010-11-25 11:19:33 +0100
committerDominik Kapusta <dominik.kapusta@teleca.com>2010-11-26 12:57:39 +0100
commit6897333657e74897b7fec05772d2aebdd5e0da60 (patch)
treec3824b56c0411ecdbdd6214d53735b5d0f20eb1f
parentdeff752030283d9209148ee6bc951993f8fe11c6 (diff)
Fixes: NB#206885 - MApplication::activeWindow() doesn't return topmost window after showMinimized()
RevBy: MichaƂ Details: set window as active when it receives Show event only if it's not minimized.
-rw-r--r--src/corelib/widgets/mwindow.cpp2
-rw-r--r--tests/ut_mwindow/ut_mwindow.cpp16
-rw-r--r--tests/ut_mwindow/ut_mwindow.h2
3 files changed, 19 insertions, 1 deletions
diff --git a/src/corelib/widgets/mwindow.cpp b/src/corelib/widgets/mwindow.cpp
index f719ff0f..af04fe70 100644
--- a/src/corelib/widgets/mwindow.cpp
+++ b/src/corelib/widgets/mwindow.cpp
@@ -1225,7 +1225,7 @@ bool MWindow::event(QEvent *event)
{
Q_D(MWindow);
- if (event->type() == QEvent::Show || event->type() == QEvent::WindowActivate) {
+ if ((event->type() == QEvent::Show && !isMinimized()) || event->type() == QEvent::WindowActivate) {
MComponentData::setActiveWindow(this);
} else if (event->type() == QEvent::WindowStateChange) {
d->handleWindowStateChangeEvent(static_cast<QWindowStateChangeEvent *>(event));
diff --git a/tests/ut_mwindow/ut_mwindow.cpp b/tests/ut_mwindow/ut_mwindow.cpp
index 479e7448..41464cf7 100644
--- a/tests/ut_mwindow/ut_mwindow.cpp
+++ b/tests/ut_mwindow/ut_mwindow.cpp
@@ -547,4 +547,20 @@ void Ut_MWindow::testAnimatedOrientationChangeProperty()
QCOMPARE(actualTransitionMode, expectedTransitionMode);
}
+void Ut_MWindow::testActiveWindow()
+{
+ QCOMPARE(MApplication::activeWindow(), win);
+ MWindow *win2 = new MWindow;
+ MWindow *win3 = new MWindow;
+
+ win2->show();
+ QCOMPARE(MApplication::activeWindow(), win2);
+
+ win3->showMinimized();
+ QCOMPARE(MApplication::activeWindow(), win2);
+
+ delete win2;
+ delete win3;
+}
+
QTEST_MAIN(Ut_MWindow);
diff --git a/tests/ut_mwindow/ut_mwindow.h b/tests/ut_mwindow/ut_mwindow.h
index b0f1ed71..8f973061 100644
--- a/tests/ut_mwindow/ut_mwindow.h
+++ b/tests/ut_mwindow/ut_mwindow.h
@@ -78,6 +78,8 @@ private slots:
void testAnimatedOrientationChangeProperty_data();
void testAnimatedOrientationChangeProperty();
+ void testActiveWindow();
+
public slots:
void onDisplayTestSlot();