OSDN Git Service

QmlDesigner.propertyEditor: crashfix
authorThomas Hartmann <Thomas.Hartmann@nokia.com>
Wed, 9 Mar 2011 14:32:51 +0000 (15:32 +0100)
committerThomas Hartmann <Thomas.Hartmann@nokia.com>
Wed, 9 Mar 2011 14:41:42 +0000 (15:41 +0100)
Better safe then sorry.

src/plugins/qmldesigner/components/propertyeditor/propertyeditor.cpp

index dad0507..edf2f39 100644 (file)
@@ -528,6 +528,9 @@ void PropertyEditor::otherPropertyChanged(const QmlObjectNode &fxObjectNode, con
 {
     QmlModelView::otherPropertyChanged(fxObjectNode, propertyName);
 
+    if (!m_selectedNode.isValid())
+        return;
+
     if (fxObjectNode.isValid() && m_currentType && fxObjectNode == m_selectedNode && fxObjectNode.currentState().isValid()) {
         AbstractProperty property = fxObjectNode.modelNode().property(propertyName);
         if (fxObjectNode == m_selectedNode || QmlObjectNode(m_selectedNode).propertyChangeForCurrentState() == fxObjectNode) {
@@ -543,6 +546,9 @@ void PropertyEditor::transformChanged(const QmlObjectNode &fxObjectNode, const Q
 {
     QmlModelView::transformChanged(fxObjectNode, propertyName);
 
+    if (!m_selectedNode.isValid())
+        return;
+
     if (fxObjectNode.isValid() && m_currentType && fxObjectNode == m_selectedNode && fxObjectNode.currentState().isValid()) {
         AbstractProperty property = fxObjectNode.modelNode().property(propertyName);
         if (fxObjectNode == m_selectedNode || QmlObjectNode(m_selectedNode).propertyChangeForCurrentState() == fxObjectNode) {