From 0b7f80de21e617cc44d8a725e6aa9a0c4f406e01 Mon Sep 17 00:00:00 2001
From: Christiaan Janssen <christiaan.janssen@digia.com>
Date: Tue, 19 Feb 2013 14:25:50 +0100
Subject: [PATCH] QmlProfiler: avoid false positives in binding loops

It happens when anonymous bindings are involved.

Change-Id: Id0107040565351bf857bff7357a76bc82f0fd093
Reviewed-by: Kai Koehne <kai.koehne@digia.com>
---
 src/plugins/qmlprofiler/qmlprofilerdatamodel.cpp | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/src/plugins/qmlprofiler/qmlprofilerdatamodel.cpp b/src/plugins/qmlprofiler/qmlprofilerdatamodel.cpp
index f611b9acde8..27a707a4e61 100644
--- a/src/plugins/qmlprofiler/qmlprofilerdatamodel.cpp
+++ b/src/plugins/qmlprofiler/qmlprofilerdatamodel.cpp
@@ -174,7 +174,6 @@ public:
     void prepareForDisplay();
     void linkStartsToEnds();
     void linkEndsToStarts();
-    bool checkBindingLoop(QmlRangeEventData *from, QmlRangeEventData *current, QList<QmlRangeEventData *>visited);
 
 
     // stats
@@ -1246,7 +1245,8 @@ void QmlProfilerDataModel::QmlProfilerDataModelPrivate::findBindingLoops(qint64
         stack << inTimeEvent;
         stackRefs << currentEvent;
 
-        if (loopDetected) {
+        // skip loops if bindings are anonymous
+        if (loopDetected && !currentEvent->location.filename.isEmpty()) {
             if (i >= fromIndex && i <= toIndex) {
                 // for the statistics
                 currentEvent->isBindingLoop = true;
-- 
GitLab