Merge remote-tracking branch 'origin/2.7'

Conflicts:
	doc/src/debugger/qtquick-debugger-example.qdoc

Change-Id: If9a6ac2db76773c50aae26c5156e6aa2603329b3
This commit is contained in:
Eike Ziller
2013-03-18 10:19:14 +01:00
48 changed files with 227 additions and 83 deletions

View File

@@ -1640,6 +1640,15 @@ void QmlV8DebuggerClient::setCurrentFrameDetails(const QVariant &bodyVal, const
d->clearCache();
const int frameIndex = stackHandler->currentIndex();
QSet<QByteArray> expandedInames = watchHandler->expandedINames();
QHash<quint64, QByteArray> handlesToLookup;
// Store handles of all expanded watch data
foreach (const QByteArray &iname, expandedInames) {
const WatchData *wd = watchHandler->findData(iname);
if (!wd || !wd->isLocal())
continue;
handlesToLookup.insert(wd->id, iname);
}
watchHandler->removeAllData();
if (frameIndex < 0)
return;
@@ -1678,6 +1687,11 @@ void QmlV8DebuggerClient::setCurrentFrameDetails(const QVariant &bodyVal, const
d->scope(scopeIndex);
}
d->engine->gotoLocation(stackHandler->currentFrame());
// Expand watch data that were previously expanded
QHash<quint64, QByteArray>::const_iterator itEnd = handlesToLookup.end();
for (QHash<quint64, QByteArray>::const_iterator it = handlesToLookup.begin(); it != itEnd; ++it)
expandObject(it.value(), it.key());
emit stackFrameCompleted();
}