diff options
author | Lars Knoll <lars.knoll@theqtcompany.com> | 2015-05-03 19:55:42 +0200 |
---|---|---|
committer | Simon Hausmann <simon.hausmann@theqtcompany.com> | 2015-06-18 08:51:35 +0000 |
commit | 66fa2b979632d87f0ac9b3f1455df66411984670 (patch) | |
tree | dc723a2580c4cc99e2349801cdb98efa75024c17 /src/qml/qml/qqmlboundsignal.cpp | |
parent | 3488569817c8cf4bbfbdc95f0e0f6bfab3d9ab3e (diff) |
Save another pointer in QQmlBoundSignal
isEvaluating is not really needed as it's tightly coupled
to the isNotifying flag in the parent class. Use that instead,
to get rid of it.
Change-Id: Ic7274ac54e4d380567522c8a549b98d5ed1a1798
Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
Diffstat (limited to 'src/qml/qml/qqmlboundsignal.cpp')
-rw-r--r-- | src/qml/qml/qqmlboundsignal.cpp | 7 |
1 files changed, 2 insertions, 5 deletions
diff --git a/src/qml/qml/qqmlboundsignal.cpp b/src/qml/qml/qqmlboundsignal.cpp index 83aa3c55f0..0cf09024e6 100644 --- a/src/qml/qml/qqmlboundsignal.cpp +++ b/src/qml/qml/qqmlboundsignal.cpp @@ -248,7 +248,7 @@ void QQmlBoundSignalExpression::evaluate(void **a) QQmlBoundSignal::QQmlBoundSignal(QObject *target, int signal, QObject *owner, QQmlEngine *engine) : m_prevSignal(0), m_nextSignal(0), - m_expression(0), m_isEvaluating(false) + m_expression(0) { addToObject(owner); setCallback(QQmlNotifierEndpoint::QQmlBoundSignal); @@ -333,14 +333,13 @@ QQmlBoundSignalExpressionPointer QQmlBoundSignal::takeExpression(QQmlBoundSignal void QQmlBoundSignal_callback(QQmlNotifierEndpoint *e, void **a) { QQmlBoundSignal *s = static_cast<QQmlBoundSignal*>(e); + if (!s->m_expression) return; if (QQmlDebugService::isDebuggingEnabled()) QV4DebugService::instance()->signalEmitted(QString::fromLatin1(QMetaObjectPrivate::signal(s->m_expression->target()->metaObject(), s->signalIndex()).methodSignature())); - s->m_isEvaluating = true; - QQmlEngine *engine; if (s->m_expression && (engine = s->m_expression->engine())) { QQmlHandlingSignalProfiler prof(QQmlEnginePrivate::get(engine)->profiler, s->m_expression); @@ -349,8 +348,6 @@ void QQmlBoundSignal_callback(QQmlNotifierEndpoint *e, void **a) QQmlEnginePrivate::warning(engine, s->m_expression->error(engine)); } } - - s->m_isEvaluating = false; } //////////////////////////////////////////////////////////////////////// |