aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/templates/qquickspinbox.cpp2
-rw-r--r--tests/auto/controls/data/tst_spinbox.qml21
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()
+ }
}