src/gui/graphicsview/qgraphicswidget_p.cpp
changeset 33 3e2da88830cd
parent 30 5dc02b23752f
child 37 758a864f9613
--- a/src/gui/graphicsview/qgraphicswidget_p.cpp	Tue Jul 06 15:10:48 2010 +0300
+++ b/src/gui/graphicsview/qgraphicswidget_p.cpp	Wed Aug 18 10:37:55 2010 +0300
@@ -761,7 +761,7 @@
 
     QGraphicsWidget *firstOld = 0;
     bool wasPreviousNew = true;
-    
+
     while (w != q) {
         bool isCurrentNew = q->isAncestorOf(w);
         if (isCurrentNew) {
@@ -796,7 +796,7 @@
         newScene = newParent->scene();
 
     if (oldScene && newScene != oldScene)
-        oldScene->d_func()->tabFocusFirst = firstOld;
+        oldScene->d_func()->tabFocusFirst = (firstOld && firstOld->scene() == oldScene) ? firstOld : 0;
 
     QGraphicsItem *topLevelItem = newParent ? newParent->topLevelItem() : 0;
     QGraphicsWidget *topLevel = 0;