From 70fd2c213eaf7e17a20fb6ab1fbd216aaed8c821 Mon Sep 17 00:00:00 2001 From: Thomas Hartmann <Thomas.Hartmann@nokia.com> Date: Mon, 25 Oct 2010 13:27:35 +0200 Subject: [PATCH] QmlDesigner.NodeInstances: crash fix This patch avoids a recursion. Reviewed-by: Marco Bubke --- .../instances/qmlgraphicsitemnodeinstance.cpp | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/src/plugins/qmldesigner/designercore/instances/qmlgraphicsitemnodeinstance.cpp b/src/plugins/qmldesigner/designercore/instances/qmlgraphicsitemnodeinstance.cpp index c59359a87df..f1261926128 100644 --- a/src/plugins/qmldesigner/designercore/instances/qmlgraphicsitemnodeinstance.cpp +++ b/src/plugins/qmldesigner/designercore/instances/qmlgraphicsitemnodeinstance.cpp @@ -247,16 +247,22 @@ QVariant QmlGraphicsItemNodeInstance::property(const QString &name) const double implicitWidth = qmlGraphicsItem()->implicitWidth(); if (!m_hasWidth && implicitWidth // WORKAROUND - && implicitWidth != qmlGraphicsItem()->width()) - qmlGraphicsItem()->setWidth(implicitWidth); + && implicitWidth != qmlGraphicsItem()->width()) { + qmlGraphicsItem()->blockSignals(true); + qmlGraphicsItem()->setWidth(implicitWidth); + qmlGraphicsItem()->blockSignals(false); + } } if (name == "height" && modelNode().isValid() && !modelNode().hasBindingProperty("height")) { double implicitHeight = qmlGraphicsItem()->implicitHeight(); if (!m_hasHeight && implicitHeight // WORKAROUND - && implicitHeight != qmlGraphicsItem()->height()) - qmlGraphicsItem()->setHeight(implicitHeight); + && implicitHeight != qmlGraphicsItem()->height()) { + qmlGraphicsItem()->blockSignals(true); + qmlGraphicsItem()->setHeight(implicitHeight); + qmlGraphicsItem()->blockSignals(false); + } } return GraphicsObjectNodeInstance::property(name); -- GitLab