diff options
author | Lars Knoll <lars.knoll@qt.io> | 2016-12-02 09:50:36 +0100 |
---|---|---|
committer | Lars Knoll <lars.knoll@qt.io> | 2016-12-09 14:01:23 +0000 |
commit | f9b8436a07534867686627b656418d62f75ba3e5 (patch) | |
tree | 896411a3196df42ebfda4e61b9335dabf01958e8 /src/qml/qml/qqmlboundsignal.cpp | |
parent | d7ef2aa02c9ba736104fe973bfce7d87e30f81af (diff) |
Mostly use the QV4::Function in javascript expressions
Move the function() accessor from QQmlBoundSIgnal to
QQmlJavaScriptExpression. Change the profiler to
operate on QV4::Function objects for binding profiling.
Change-Id: Ic7ce83c487ceb69cad4b16e3dab42026238b7e82
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
Diffstat (limited to 'src/qml/qml/qqmlboundsignal.cpp')
-rw-r--r-- | src/qml/qml/qqmlboundsignal.cpp | 19 |
1 files changed, 2 insertions, 17 deletions
diff --git a/src/qml/qml/qqmlboundsignal.cpp b/src/qml/qml/qqmlboundsignal.cpp index 7b7e6562ff..e88c836ce0 100644 --- a/src/qml/qml/qqmlboundsignal.cpp +++ b/src/qml/qml/qqmlboundsignal.cpp @@ -159,26 +159,11 @@ void QQmlBoundSignalExpression::expressionChanged() QString QQmlBoundSignalExpression::expression() const { - if (expressionFunctionValid()) { - Q_ASSERT (context() && engine()); - QV4::Scope scope(QQmlEnginePrivate::get(engine())->v4engine()); - QV4::ScopedValue v(scope, m_function.value()); - return v->toQStringNoThrow(); - } + if (expressionFunctionValid()) + return QStringLiteral("function() { [code] }"); return QString(); } -QV4::Function *QQmlBoundSignalExpression::function() const -{ - if (expressionFunctionValid()) { - Q_ASSERT (context() && engine()); - QV4::Scope scope(QQmlEnginePrivate::get(engine())->v4engine()); - QV4::ScopedFunctionObject v(scope, m_function.value()); - return v ? v->function() : 0; - } - return 0; -} - // Parts of this function mirror code in QQmlExpressionPrivate::value() and v8value(). // Changes made here may need to be made there and vice versa. void QQmlBoundSignalExpression::evaluate(void **a) |