forked from qt-creator/qt-creator
Debugger: Simplify removal of outdated L&E items
This removes the need of bookkeeping on the engine side. It's basically a kind of mark-and-sweep: On update begin mark items that are expected to change as outdated, while data arrives, undo that marking, and update end remove all remaining marked items. Change-Id: I739b84869033d511d5c9a80605c079e87ef4f6a7 Reviewed-by: David Schulz <david.schulz@theqtcompany.com>
This commit is contained in:
@@ -1340,7 +1340,7 @@ void CdbEngine::doUpdateLocals(const UpdateParameters &updateParameters)
|
||||
return;
|
||||
}
|
||||
|
||||
watchHandler()->notifyUpdateStarted();
|
||||
watchHandler()->notifyUpdateStarted(updateParameters.partialVariables());
|
||||
|
||||
/* Watchers: Forcibly discard old symbol group as switching from
|
||||
* thread 0/frame 0 -> thread 1/assembly -> thread 0/frame 0 will otherwise re-use it
|
||||
@@ -1775,7 +1775,6 @@ void CdbEngine::handleRegistersExt(const CdbResponse &response)
|
||||
|
||||
void CdbEngine::handleLocals(const CdbResponse &response, bool partialUpdate)
|
||||
{
|
||||
watchHandler()->notifyUpdateFinished();
|
||||
if (response.success) {
|
||||
if (boolSetting(VerboseLog))
|
||||
showMessage(QLatin1String("Locals: ") + QString::fromLatin1(response.extensionReply), LogDebug);
|
||||
@@ -1796,6 +1795,7 @@ void CdbEngine::handleLocals(const CdbResponse &response, bool partialUpdate)
|
||||
} else {
|
||||
showMessage(QString::fromLatin1(response.errorMessage), LogWarning);
|
||||
}
|
||||
watchHandler()->notifyUpdateFinished();
|
||||
}
|
||||
|
||||
void CdbEngine::handleExpandLocals(const CdbResponse &response)
|
||||
|
||||
Reference in New Issue
Block a user