diff options
author | Eike Ziller <eike.ziller@digia.com> | 2013-03-18 10:19:14 +0100 |
---|---|---|
committer | Eike Ziller <eike.ziller@digia.com> | 2013-03-18 10:19:14 +0100 |
commit | 99b2eb1ca9f0515681bf949db0ab6650f857e82b (patch) | |
tree | 730a84b76b55e623ec331940631e247f55cc39df /src/plugins/debugger/qml/qmlv8debuggerclient.cpp | |
parent | 7a107e7d004610ee8332b122aeb8993e61056b23 (diff) | |
parent | e1aa32225865980992e79c53fdf3b40e0fcd0a86 (diff) | |
download | qt-creator-99b2eb1ca9f0515681bf949db0ab6650f857e82b.tar.gz |
Merge remote-tracking branch 'origin/2.7'
Conflicts:
doc/src/debugger/qtquick-debugger-example.qdoc
Change-Id: If9a6ac2db76773c50aae26c5156e6aa2603329b3
Diffstat (limited to 'src/plugins/debugger/qml/qmlv8debuggerclient.cpp')
-rw-r--r-- | src/plugins/debugger/qml/qmlv8debuggerclient.cpp | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/src/plugins/debugger/qml/qmlv8debuggerclient.cpp b/src/plugins/debugger/qml/qmlv8debuggerclient.cpp index b667cdd5b1..ce0ebf5660 100644 --- a/src/plugins/debugger/qml/qmlv8debuggerclient.cpp +++ b/src/plugins/debugger/qml/qmlv8debuggerclient.cpp @@ -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(); } |