aboutsummaryrefslogtreecommitdiffstats
path: root/src/quick/items/qquicktextinput.cpp
diff options
context:
space:
mode:
authorLars Knoll <lars.knoll@digia.com>2013-09-24 13:53:54 +0200
committerThe Qt Project <gerrit-noreply@qt-project.org>2013-09-26 09:05:22 +0200
commit0f204625dc6720d40df22ca352af995af5448525 (patch)
treeedb78721935e2b0d34927b3dc358c3b171dc43b1 /src/quick/items/qquicktextinput.cpp
parenta57085f00b146798a0cca0d52dfa127232c3e659 (diff)
Fix QQmlV4Function API to be GC safe
Change-Id: Id4f79c22fc48ada1c8a9a858e1b7b3d1cf14d120 Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
Diffstat (limited to 'src/quick/items/qquicktextinput.cpp')
-rw-r--r--src/quick/items/qquicktextinput.cpp11
1 files changed, 6 insertions, 5 deletions
diff --git a/src/quick/items/qquicktextinput.cpp b/src/quick/items/qquicktextinput.cpp
index b5b86993f4..a5db64c983 100644
--- a/src/quick/items/qquicktextinput.cpp
+++ b/src/quick/items/qquicktextinput.cpp
@@ -1420,17 +1420,18 @@ void QQuickTextInput::positionAt(QQmlV4Function *args) const
return;
int i = 0;
- QV4::Value arg = (*args)[i];
- x = arg.toNumber();
+ QV4::Scope scope(args->v4engine());
+ QV4::ScopedValue arg(scope, (*args)[0]);
+ x = arg->toNumber();
if (++i < args->length()) {
arg = (*args)[i];
- y = arg.toNumber();
+ y = arg->toNumber();
}
if (++i < args->length()) {
arg = (*args)[i];
- position = QTextLine::CursorPosition(arg.toInt32());
+ position = QTextLine::CursorPosition(arg->toInt32());
}
int pos = d->positionAt(x, y, position);
@@ -1445,7 +1446,7 @@ void QQuickTextInput::positionAt(QQmlV4Function *args) const
pos = cursor;
#endif
}
- args->setReturnValue(QV4::Value::fromInt32(pos));
+ args->setReturnValue(QV4::Encode(pos));
}
int QQuickTextInputPrivate::positionAt(qreal x, qreal y, QTextLine::CursorPosition position) const