src/gui/graphicsview/qgraphicsscene.cpp
changeset 25 e24348a560a6
parent 22 79de32ba3296
child 30 5dc02b23752f
--- a/src/gui/graphicsview/qgraphicsscene.cpp	Thu May 27 13:40:48 2010 +0300
+++ b/src/gui/graphicsview/qgraphicsscene.cpp	Fri Jun 11 14:24:45 2010 +0300
@@ -693,6 +693,14 @@
     --selectionChanging;
     if (!selectionChanging && selectedItems.size() != oldSelectedItemsSize)
         emit q->selectionChanged();
+
+    QHash<QGesture *, QGraphicsObject *>::iterator it;
+    for (it = gestureTargets.begin(); it != gestureTargets.end();) {
+        if (it.value() == item)
+            it = gestureTargets.erase(it);
+        else
+            ++it;
+    }
 }
 
 /*!
@@ -808,13 +816,13 @@
 #endif //QT_NO_IM
     }
 
+    if (item)
+        focusItem = item;
+    updateInputMethodSensitivityInViews();
     if (item) {
-        focusItem = item;
         QFocusEvent event(QEvent::FocusIn, focusReason);
         sendEvent(item, &event);
     }
-
-    updateInputMethodSensitivityInViews();
 }
 
 /*!