aboutsummaryrefslogtreecommitdiffstats
path: root/src/declarative
diff options
context:
space:
mode:
authorChristiaan Janssen <christiaan.janssen@nokia.com>2012-01-31 11:42:41 +0100
committerQt by Nokia <qt-info@nokia.com>2012-02-01 07:02:35 +0100
commitb5db46864e641a86d9b8bdda8c77834fc49e558a (patch)
treef0ff3ed80517121a1a63861328817de983a08f45 /src/declarative
parent3e0b6d2f367ba1c1b99e2957da6dcc823fbf0d21 (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.cpp4
-rw-r--r--src/declarative/qml/v8/qv8bindings.cpp3
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);