From ee836705971eafb4dad6d817d93d96e1f1e86605 Mon Sep 17 00:00:00 2001 From: Henning Gruendl Date: Thu, 5 Jun 2025 10:46:50 +0200 Subject: [PATCH] QmlDesigner: Fix QtDS crash in Property Editor * Remove dot handling in ExpressionTextField as it was triggering a crash of QtDS * Secure ExpressionTextField with validator to avoid false input Task-number: QDS-15509 Pick-to: qds/4.7 Change-Id: I3fd9632e8d202a633d6f405ce5523d15088ecb6f Reviewed-by: Thomas Hartmann --- .../imports/HelperWidgets/ComponentSection.qml | 3 +++ .../imports/HelperWidgets/ExpressionTextField.qml | 11 ----------- 2 files changed, 3 insertions(+), 11 deletions(-) diff --git a/share/qtcreator/qmldesigner/propertyEditorQmlSources/imports/HelperWidgets/ComponentSection.qml b/share/qtcreator/qmldesigner/propertyEditorQmlSources/imports/HelperWidgets/ComponentSection.qml index a09199ee7a6..aa3cfe346ce 100644 --- a/share/qtcreator/qmldesigner/propertyEditorQmlSources/imports/HelperWidgets/ComponentSection.qml +++ b/share/qtcreator/qmldesigner/propertyEditorQmlSources/imports/HelperWidgets/ComponentSection.qml @@ -58,6 +58,9 @@ Section { anchors.fill: parent visible: false fixedSize: true + validator: RegularExpressionValidator { + regularExpression: /^[\d\w]*$/ + } property bool blockEditingFinished: false diff --git a/share/qtcreator/qmldesigner/propertyEditorQmlSources/imports/HelperWidgets/ExpressionTextField.qml b/share/qtcreator/qmldesigner/propertyEditorQmlSources/imports/HelperWidgets/ExpressionTextField.qml index 7b677351889..ce322c7072b 100644 --- a/share/qtcreator/qmldesigner/propertyEditorQmlSources/imports/HelperWidgets/ExpressionTextField.qml +++ b/share/qtcreator/qmldesigner/propertyEditorQmlSources/imports/HelperWidgets/ExpressionTextField.qml @@ -15,8 +15,6 @@ StudioControls.TextField { property bool completeOnlyTypes: false property bool completionActive: listView.model !== null - property bool dotCompletion: false - property int dotCursorPos: 0 property string prefix property bool fixedSize: false property bool replaceCurrentTextByCompletion: false @@ -146,14 +144,6 @@ StudioControls.TextField { switch (event.key) { - case Qt.Key_Period: - textField.dotCursorPos = textField.cursorPosition + 1 - text = textField.text + "." - pos = textField.dotCursorPos - explicitComplete = false - textField.dotCompletion = true - break - case Qt.Key_Right: if (!textField.completionActive) return @@ -209,7 +199,6 @@ StudioControls.TextField { // list.pop() // listView.model = list - // textField.dotCompletion = false // event.accepted = true // } else {