aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorTim Jenssen <tim.jenssen@qt.io>2024-03-11 12:50:24 +0100
committerQt Cherry-pick Bot <cherrypick_bot@qt-project.org>2024-03-14 07:26:00 +0000
commit09edf9b91ed86d3282b97739d4100a8c88b79695 (patch)
tree4d718c956a76c271896a074fbaa1ce18c09280d8
parentb4301c689b4875a645d56b2ff2610d4a0e640b52 (diff)
fix crash in qquickspinbox.cpp
With a custom style, the validator might not be set initially or at all. Task-number: QTBUG-123160 Change-Id: Idd4b801e75737fa2cfac112d06f9f7ad04278c26 Reviewed-by: Alessandro Portale <alessandro.portale@qt.io> Reviewed-by: Tim Jenssen <tim.jenssen@qt.io> (cherry picked from commit 6e853af5b97d71d0cffa978a2bf502083c222348) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org> (cherry picked from commit e68b9dc5882382169225f6f409e510a4f52dd6d7) (cherry picked from commit 10b5b1f51a427a9e223bfd4d942e0eaceed2ce0f)
-rw-r--r--src/quicktemplates/qquickspinbox.cpp3
-rw-r--r--tests/auto/quickcontrols/controls/data/tst_spinbox.qml5
2 files changed, 7 insertions, 1 deletions
diff --git a/src/quicktemplates/qquickspinbox.cpp b/src/quicktemplates/qquickspinbox.cpp
index fe5c5ba8a9..02b680b05b 100644
--- a/src/quicktemplates/qquickspinbox.cpp
+++ b/src/quicktemplates/qquickspinbox.cpp
@@ -240,7 +240,8 @@ void QQuickSpinBoxPrivate::contentItemTextChanged()
return;
QString text = inputTextItem->text();
#if QT_CONFIG(validator)
- validator->fixup(text);
+ if (validator)
+ validator->fixup(text);
#endif
if (live) {
diff --git a/tests/auto/quickcontrols/controls/data/tst_spinbox.qml b/tests/auto/quickcontrols/controls/data/tst_spinbox.qml
index f9a41b9ca6..34f8b3f97e 100644
--- a/tests/auto/quickcontrols/controls/data/tst_spinbox.qml
+++ b/tests/auto/quickcontrols/controls/data/tst_spinbox.qml
@@ -1119,4 +1119,9 @@ TestCase {
mouseClick(control.up.indicator) // +1
compare(control.value, 0)
}
+
+ function test_nullValidator() {
+ var control = createTemporaryObject(spinBox, testCase, { validator: null })
+ verify(control)
+ }
}