diff options
author | Thomas Hartmann <Thomas.Hartmann@nokia.com> | 2011-08-02 11:44:29 +0200 |
---|---|---|
committer | Thomas Hartmann <Thomas.Hartmann@nokia.com> | 2011-08-02 11:47:26 +0200 |
commit | c1850305e67d0cbad08a8bd43168a264ce996f1e (patch) | |
tree | bfdf50f54ba85624a90354f3d90f5c1eb54c2866 | |
parent | 3e8ffed0997fb0863925e87a0d4221a55c1a5492 (diff) |
QmlDesigner.propertyEditor: crash fix
We did not handle the case that a gradient is a binding.
Change-Id: Ib6892420c6d5de7522cb2b051ff2b046ab781c14
Reviewed-on: http://codereview.qt.nokia.com/2503
Reviewed-by: Thomas Hartmann <Thomas.Hartmann@nokia.com>
-rw-r--r-- | share/qtcreator/qmldesigner/propertyeditor/Qt/RectangleColorGroupBox.qml | 6 | ||||
-rw-r--r-- | src/plugins/qmldesigner/components/propertyeditor/gradientlineqmladaptor.cpp | 3 |
2 files changed, 8 insertions, 1 deletions
diff --git a/share/qtcreator/qmldesigner/propertyeditor/Qt/RectangleColorGroupBox.qml b/share/qtcreator/qmldesigner/propertyeditor/Qt/RectangleColorGroupBox.qml index 79dafeccdb..14edc0afb3 100644 --- a/share/qtcreator/qmldesigner/propertyeditor/Qt/RectangleColorGroupBox.qml +++ b/share/qtcreator/qmldesigner/propertyeditor/Qt/RectangleColorGroupBox.qml @@ -48,6 +48,8 @@ GroupBox { property variant colorAlpha: colorGroupBox.alpha property bool hasGradient: backendValues.gradient.isInModel + property bool gradientIsBinding: backendValues.gradient.isBound + onHasGradientChanged: { print("onGradientInModelChanged") if (backendValues.gradient.isInModel) { @@ -75,7 +77,7 @@ GroupBox { isSetup = true; gradientLine.active = false; colorGroupBox.setSolidButtonChecked = true; - if (backendValues.gradient.isInModel) { + if (backendValues.gradient.isInModel && !gradientIsBinding) { colorGroupBox.setGradientButtonChecked = true; gradientLine.active = true; gradientLine.setupGradient(); @@ -117,6 +119,8 @@ GroupBox { } ColorGroupBox { + enabled: !gradientIsBinding + opacity: gradientIsBinding ? 0.7 : 1 id: colorGroupBox caption: qsTr("Rectangle") finished: finishedNotify diff --git a/src/plugins/qmldesigner/components/propertyeditor/gradientlineqmladaptor.cpp b/src/plugins/qmldesigner/components/propertyeditor/gradientlineqmladaptor.cpp index 25668cd25e..3f356ff317 100644 --- a/src/plugins/qmldesigner/components/propertyeditor/gradientlineqmladaptor.cpp +++ b/src/plugins/qmldesigner/components/propertyeditor/gradientlineqmladaptor.cpp @@ -85,6 +85,9 @@ void GradientLineQmlAdaptor::setupGradient() if (!modelNode.isValid()) return; + if (modelNode.hasBindingProperty(gradientName())) + return; + if (modelNode.hasProperty(gradientName())) { //gradient exists ModelNode gradientNode = modelNode.nodeProperty(gradientName()).modelNode(); |