diff options
author | Christiaan Janssen <christiaan.janssen@nokia.com> | 2012-01-31 11:42:41 +0100 |
---|---|---|
committer | Qt by Nokia <qt-info@nokia.com> | 2012-02-01 07:02:35 +0100 |
commit | b5db46864e641a86d9b8bdda8c77834fc49e558a (patch) | |
tree | f0ff3ed80517121a1a63861328817de983a08f45 /src/declarative | |
parent | 3e0b6d2f367ba1c1b99e2957da6dcc823fbf0d21 (diff) |
QmlProfiler: profiling binding loops
Moved the trace call in bindings so that they are also
registered when binding loops occur.
Change-Id: I56aa7bda6c5305f14dee98bebd929fb720f1ab32
Reviewed-by: Kai Koehne <kai.koehne@nokia.com>
Diffstat (limited to 'src/declarative')
-rw-r--r-- | src/declarative/qml/v4/qv4bindings.cpp | 4 | ||||
-rw-r--r-- | src/declarative/qml/v8/qv8bindings.cpp | 3 |
2 files changed, 4 insertions, 3 deletions
diff --git a/src/declarative/qml/v4/qv4bindings.cpp b/src/declarative/qml/v4/qv4bindings.cpp index ec7699a504..a1f4593c2e 100644 --- a/src/declarative/qml/v4/qv4bindings.cpp +++ b/src/declarative/qml/v4/qv4bindings.cpp @@ -289,6 +289,8 @@ void QV4Bindings::run(Binding *binding, QDeclarativePropertyPrivate::WriteFlags trace.addDetail("Line", binding->line); trace.addDetail("Column", binding->column); + QDeclarativeBindingProfiler prof(context->url.toString(), binding->line, binding->column); + if (binding->updating) { QString name; if (binding->property & 0xFFFF0000) { @@ -307,8 +309,6 @@ void QV4Bindings::run(Binding *binding, QDeclarativePropertyPrivate::WriteFlags return; } - QDeclarativeBindingProfiler prof(context->url.toString(), binding->line, binding->column); - binding->updating = true; if (binding->property & 0xFFFF0000) { QDeclarativeEnginePrivate *ep = QDeclarativeEnginePrivate::get(context->engine); diff --git a/src/declarative/qml/v8/qv8bindings.cpp b/src/declarative/qml/v8/qv8bindings.cpp index 112808ca9b..84ed892c09 100644 --- a/src/declarative/qml/v8/qv8bindings.cpp +++ b/src/declarative/qml/v8/qv8bindings.cpp @@ -82,12 +82,13 @@ void QV8Bindings::Binding::update(QDeclarativePropertyPrivate::WriteFlags flags) trace.addDetail("Line", line); trace.addDetail("Column", column); + QDeclarativeBindingProfiler prof(parent->url.toString(), line, column); + QDeclarativeContextData *context = QDeclarativeAbstractExpression::context(); if (!context || !context->isValid()) return; if (!updating) { - QDeclarativeBindingProfiler prof(parent->url.toString(), line, column); updating = true; QDeclarativeEnginePrivate *ep = QDeclarativeEnginePrivate::get(context->engine); |