diff options
author | Tim Jenssen <tim.jenssen@qt.io> | 2024-03-11 12:50:24 +0100 |
---|---|---|
committer | Qt Cherry-pick Bot <cherrypick_bot@qt-project.org> | 2024-03-14 07:26:00 +0000 |
commit | 09edf9b91ed86d3282b97739d4100a8c88b79695 (patch) | |
tree | 4d718c956a76c271896a074fbaa1ce18c09280d8 | |
parent | b4301c689b4875a645d56b2ff2610d4a0e640b52 (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.cpp | 3 | ||||
-rw-r--r-- | tests/auto/quickcontrols/controls/data/tst_spinbox.qml | 5 |
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) + } } |