diff options
-rw-r--r-- | src/templates/qquickspinbox.cpp | 2 | ||||
-rw-r--r-- | tests/auto/controls/data/tst_spinbox.qml | 21 |
2 files changed, 22 insertions, 1 deletions
diff --git a/src/templates/qquickspinbox.cpp b/src/templates/qquickspinbox.cpp index bda955d0..255715e1 100644 --- a/src/templates/qquickspinbox.cpp +++ b/src/templates/qquickspinbox.cpp @@ -133,7 +133,7 @@ void QQuickSpinBoxPrivate::updateValue() if (text.isValid()) { QV4::ExecutionEngine *v4 = QQmlEnginePrivate::getV4Engine(qmlEngine(q)); QJSValue loc(v4, QQmlLocale::wrap(v4, locale)); - QJSValue val = valueFromText.call(QJSValueList() << text.toString() << loc); + QJSValue val = q->valueFromText().call(QJSValueList() << text.toString() << loc); q->setValue(val.toInt()); } } diff --git a/tests/auto/controls/data/tst_spinbox.qml b/tests/auto/controls/data/tst_spinbox.qml index a2ab5a4a..cdea8b66 100644 --- a/tests/auto/controls/data/tst_spinbox.qml +++ b/tests/auto/controls/data/tst_spinbox.qml @@ -305,4 +305,25 @@ TestCase { compare(control.baselineOffset, control.contentItem.y + control.contentItem.baselineOffset) control.destroy() } + + function test_focus() { + var control = spinBox.createObject(testCase, {from: 10, to: 1000, value: 100, focus: true}) + verify(control) + + control.forceActiveFocus() + compare(control.activeFocus, true) + + compare(control.from, 10) + compare(control.to, 1000) + compare(control.value, 100) + + control.focus = false + compare(control.activeFocus, false) + + compare(control.from, 10) + compare(control.to, 1000) + compare(control.value, 100) + + control.destroy() + } } |