From e828c425b51f0133282b1b678fe2296780551de2 Mon Sep 17 00:00:00 2001
From: Thomas Hartmann <Thomas.Hartmann@nokia.com>
Date: Tue, 22 Mar 2011 12:35:56 +0100
Subject: [PATCH] QmlDesigner.nodeInstances: bugfix for state editing

The state activeStateInstance() was always invalid as a side effect
of calling deactivateState() before.

So we always changed back to the base state when removing an item.

Reviewed-by: Kai Koehne
---
 .../designercore/instances/nodeinstanceserver.cpp           | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/src/plugins/qmldesigner/designercore/instances/nodeinstanceserver.cpp b/src/plugins/qmldesigner/designercore/instances/nodeinstanceserver.cpp
index 6f8f71f7352..e578938a947 100644
--- a/src/plugins/qmldesigner/designercore/instances/nodeinstanceserver.cpp
+++ b/src/plugins/qmldesigner/designercore/instances/nodeinstanceserver.cpp
@@ -258,6 +258,7 @@ void NodeInstanceServer::clearScene(const ClearSceneCommand &/*command*/)
 
 void NodeInstanceServer::removeInstances(const RemoveInstancesCommand &command)
 {
+    ServerNodeInstance oldState = activeStateInstance();
     if (activeStateInstance().isValid())
         activeStateInstance().deactivateState();
 
@@ -265,9 +266,8 @@ void NodeInstanceServer::removeInstances(const RemoveInstancesCommand &command)
         removeInstanceRelationsip(instanceId);
     }
 
-    if (activeStateInstance().isValid())
-        activeStateInstance().activateState();
-
+    if (oldState.isValid())
+        oldState.activateState();
 
     refreshBindings();
     startRenderTimer();
-- 
GitLab