summaryrefslogtreecommitdiffstats
path: root/tests/auto/qgraphicswidget
diff options
context:
space:
mode:
authorAndreas Aardal Hanssen <andreas.aardal.hanssen@nokia.com>2009-07-29 03:21:09 +0200
committerAndreas Aardal Hanssen <andreas.aardal.hanssen@nokia.com>2009-07-29 05:09:31 +0200
commite841cc37bf7fde58e7b0ffc024d31f6a46a83745 (patch)
treec61dd1dbb795e366d9c774694aa62ce05ed330c6 /tests/auto/qgraphicswidget
parent509a04338bc2b556c15f494a73947e82e3cdcc62 (diff)
Fix remaining autotest failures in tst_QGraphicsWidget
Change f68fed3 introduced a few regressions in the QGraphicsWidget autotests. It turned out those autotests relied on behavior that this fix "fixed". The exact bugs were 1) that setting focus on a window or a child of a window that isn't active will automatically give that item focus, despite that its window is inactive (in contrast it should just set up subfocus and give the item focus when the window is activated), and 2) that adding a window to a scene that is active did not immediately activate that window. So one fix in the test and one in QGraphicsScene. The autotests were modified so that the respective tests operate on an active scene (by assigning the scene to an active view). The change in QGraphicsScene ensures that the first window that gets added to an active scene that does not have any active windows already, automatically gets activated. Reviewed-by: Michael Brasser
Diffstat (limited to 'tests/auto/qgraphicswidget')
-rw-r--r--tests/auto/qgraphicswidget/tst_qgraphicswidget.cpp11
1 files changed, 11 insertions, 0 deletions
diff --git a/tests/auto/qgraphicswidget/tst_qgraphicswidget.cpp b/tests/auto/qgraphicswidget/tst_qgraphicswidget.cpp
index 78d13d329c..2cfedb145d 100644
--- a/tests/auto/qgraphicswidget/tst_qgraphicswidget.cpp
+++ b/tests/auto/qgraphicswidget/tst_qgraphicswidget.cpp
@@ -1315,6 +1315,12 @@ void tst_QGraphicsWidget::focusNextPrevChild()
void tst_QGraphicsWidget::verifyFocusChain()
{
QGraphicsScene scene;
+ QGraphicsView view(&scene);
+ view.show();
+#ifdef Q_WS_X11
+ qt_x11_wait_for_window_manager(&view);
+#endif
+ QTest::qWait(250);
{
// parent/child focus
SubQGraphicsWidget *w = new SubQGraphicsWidget(0, Qt::Window);
@@ -1448,6 +1454,11 @@ void tst_QGraphicsWidget::updateFocusChainWhenChildDie()
QGraphicsScene scene;
QGraphicsView view(&scene);
view.show();
+#ifdef Q_WS_X11
+ qt_x11_wait_for_window_manager(&view);
+#endif
+ QTest::qWait(250);
+
// delete item in focus chain with no focus and verify chain
SubQGraphicsWidget *parent = new SubQGraphicsWidget(0, Qt::Window);
SubQGraphicsWidget *w = new SubQGraphicsWidget(0, Qt::Window);