From 65055989f94efe31c84f45e79de4710123d91d6b Mon Sep 17 00:00:00 2001 From: Henning Gruendl Date: Wed, 4 Aug 2021 20:14:03 +0200 Subject: [PATCH] QmlDesigner: Fix a couple of undefined warnings Change-Id: I6bf62904a3fc4b45252f3859d6996c28b459d949 Reviewed-by: Thomas Hartmann --- .../HelperWidgets/AlignmentHorizontalButtons.qml | 14 ++++++++++++-- .../HelperWidgets/AlignmentVerticalButtons.qml | 14 ++++++++++++-- .../imports/HelperWidgets/ColorEditor.qml | 3 +++ .../imports/HelperWidgets/ColorLogic.qml | 14 ++++++++++++-- .../HelperWidgets/ExtendedFunctionLogic.qml | 14 ++++++++++++-- 5 files changed, 51 insertions(+), 8 deletions(-) diff --git a/share/qtcreator/qmldesigner/propertyEditorQmlSources/imports/HelperWidgets/AlignmentHorizontalButtons.qml b/share/qtcreator/qmldesigner/propertyEditorQmlSources/imports/HelperWidgets/AlignmentHorizontalButtons.qml index 5bca690e2fe..2172430561b 100644 --- a/share/qtcreator/qmldesigner/propertyEditorQmlSources/imports/HelperWidgets/AlignmentHorizontalButtons.qml +++ b/share/qtcreator/qmldesigner/propertyEditorQmlSources/imports/HelperWidgets/AlignmentHorizontalButtons.qml @@ -58,9 +58,19 @@ Row { evaluate() } - property bool isInModel: backendValue.isInModel + property bool isInModel: { + if (backendValue !== undefined && backendValue.isInModel !== undefined) + return backendValue.isInModel + + return false + } onIsInModelChanged: evaluate() - property bool isInSubState: backendValue.isInSubState + property bool isInSubState: { + if (backendValue !== undefined && backendValue.isInSubState !== undefined) + return backendValue.isInSubState + + return false + } onIsInSubStateChanged: evaluate() function evaluate() { diff --git a/share/qtcreator/qmldesigner/propertyEditorQmlSources/imports/HelperWidgets/AlignmentVerticalButtons.qml b/share/qtcreator/qmldesigner/propertyEditorQmlSources/imports/HelperWidgets/AlignmentVerticalButtons.qml index 047826c8313..ea69901ae7a 100644 --- a/share/qtcreator/qmldesigner/propertyEditorQmlSources/imports/HelperWidgets/AlignmentVerticalButtons.qml +++ b/share/qtcreator/qmldesigner/propertyEditorQmlSources/imports/HelperWidgets/AlignmentVerticalButtons.qml @@ -55,9 +55,19 @@ Row { evaluate() } - property bool isInModel: backendValue.isInModel + property bool isInModel: { + if (backendValue !== undefined && backendValue.isInModel !== undefined) + return backendValue.isInModel + + return false + } onIsInModelChanged: evaluate() - property bool isInSubState: backendValue.isInSubState + property bool isInSubState: { + if (backendValue !== undefined && backendValue.isInSubState !== undefined) + return backendValue.isInSubState + + return false + } onIsInSubStateChanged: evaluate() function evaluate() { diff --git a/share/qtcreator/qmldesigner/propertyEditorQmlSources/imports/HelperWidgets/ColorEditor.qml b/share/qtcreator/qmldesigner/propertyEditorQmlSources/imports/HelperWidgets/ColorEditor.qml index e38004c7aff..2a292d4ab44 100644 --- a/share/qtcreator/qmldesigner/propertyEditorQmlSources/imports/HelperWidgets/ColorEditor.qml +++ b/share/qtcreator/qmldesigner/propertyEditorQmlSources/imports/HelperWidgets/ColorEditor.qml @@ -39,6 +39,9 @@ SecondColumnLayout { property bool supportGradient: false property variant backendValue property variant value: { + if (colorEditor.backendValue === undefined || colorEditor.backendValue.value === undefined) + return "white" // default color for Rectangle + if (colorEditor.isVector3D) return Qt.rgba(colorEditor.backendValue.value.x, colorEditor.backendValue.value.y, diff --git a/share/qtcreator/qmldesigner/propertyEditorQmlSources/imports/HelperWidgets/ColorLogic.qml b/share/qtcreator/qmldesigner/propertyEditorQmlSources/imports/HelperWidgets/ColorLogic.qml index caec1cdf8f1..2f5a78bdbc2 100644 --- a/share/qtcreator/qmldesigner/propertyEditorQmlSources/imports/HelperWidgets/ColorLogic.qml +++ b/share/qtcreator/qmldesigner/propertyEditorQmlSources/imports/HelperWidgets/ColorLogic.qml @@ -33,8 +33,18 @@ QtObject { property color textColor: StudioTheme.Values.themeTextColor property variant valueFromBackend: backendValue === undefined ? 0 : backendValue.value property bool baseStateFlag: isBaseState - property bool isInModel: backendValue === undefined ? false : backendValue.isInModel - property bool isInSubState: backendValue === undefined ? false : backendValue.isInSubState + property bool isInModel: { + if (backendValue !== undefined && backendValue.isInModel !== undefined) + return backendValue.isInModel + + return false + } + property bool isInSubState: { + if (backendValue !== undefined && backendValue.isInSubState !== undefined) + return backendValue.isInSubState + + return false + } property bool highlight: textColor === __changedTextColor property bool errorState: false diff --git a/share/qtcreator/qmldesigner/propertyEditorQmlSources/imports/HelperWidgets/ExtendedFunctionLogic.qml b/share/qtcreator/qmldesigner/propertyEditorQmlSources/imports/HelperWidgets/ExtendedFunctionLogic.qml index 58b82a7c24d..748f8356140 100644 --- a/share/qtcreator/qmldesigner/propertyEditorQmlSources/imports/HelperWidgets/ExtendedFunctionLogic.qml +++ b/share/qtcreator/qmldesigner/propertyEditorQmlSources/imports/HelperWidgets/ExtendedFunctionLogic.qml @@ -33,8 +33,18 @@ Item { id: extendedFunctionButton property variant backendValue - property bool isBoundBackend: backendValue === undefined ? false : backendValue.isBound - property string backendExpression: backendValue === undefined ? "" : backendValue.expression + property bool isBoundBackend: { + if (backendValue !== undefined && backendValue.isBound !== undefined) + return backendValue.isBound + + return false + } + property string backendExpression: { + if (backendValue !== undefined && backendValue.expression !== undefined) + return backendValue.expression + + return "" + } property string glyph: StudioTheme.Constants.actionIcon property string color: StudioTheme.Values.themeTextColor