From 84515448e8d137a6c5218c27bfee84d5241cb327 Mon Sep 17 00:00:00 2001
From: Thomas Hartmann <Thomas.Hartmann@nokia.com>
Date: Tue, 23 Nov 2010 12:14:48 +0100
Subject: [PATCH] QmlDesigner.rewriter: crash fix for Flipable

Removing a property from a Flipabke back or front property
resulted in a crash, because the offset of UiObjectBinding
was not handled correctly.
The left hand side of the binding is not part of the node anymore.

Reviewed-by: Kai Koehne
---
 .../designercore/filemanager/removepropertyvisitor.cpp     | 7 +++++++
 1 file changed, 7 insertions(+)

diff --git a/src/plugins/qmldesigner/designercore/filemanager/removepropertyvisitor.cpp b/src/plugins/qmldesigner/designercore/filemanager/removepropertyvisitor.cpp
index 136bf85d4c5..449b01d1575 100644
--- a/src/plugins/qmldesigner/designercore/filemanager/removepropertyvisitor.cpp
+++ b/src/plugins/qmldesigner/designercore/filemanager/removepropertyvisitor.cpp
@@ -48,6 +48,13 @@ RemovePropertyVisitor::RemovePropertyVisitor(QmlDesigner::TextModifier &modifier
 bool RemovePropertyVisitor::visit(QmlJS::AST::UiObjectBinding *ast)
 {
     if (ast->firstSourceLocation().offset == parentLocation) {
+        //this condition is wrong for the UiObjectBinding case, but we keep it
+        //since we are paranoid until the release is done.
+        // FIXME: change this to use the QmlJS::Rewriter class
+        removeFrom(ast->initializer);
+    }
+
+    if (ast->qualifiedTypeNameId && ast->qualifiedTypeNameId->identifierToken.offset == parentLocation) {
         // FIXME: change this to use the QmlJS::Rewriter class
         removeFrom(ast->initializer);
     }
-- 
GitLab