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>
This commit is contained in:
Christiaan Janssen
2013-02-19 14:25:50 +01:00
committed by Kai Koehne
parent 8bf3647b06
commit 0b7f80de21

View File

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