summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/plugins/debugger/debuggerengine.cpp9
-rw-r--r--src/plugins/debugger/debuggerengine.h1
-rw-r--r--src/plugins/debugger/watchhandler.cpp2
3 files changed, 11 insertions, 1 deletions
diff --git a/src/plugins/debugger/debuggerengine.cpp b/src/plugins/debugger/debuggerengine.cpp
index 5c13d88017..57580df85c 100644
--- a/src/plugins/debugger/debuggerengine.cpp
+++ b/src/plugins/debugger/debuggerengine.cpp
@@ -2043,6 +2043,15 @@ void DebuggerEngine::updateItem(const QByteArray &iname)
doUpdateLocals(params);
}
+void DebuggerEngine::updateWatchData(const QByteArray &iname)
+{
+ // This is used in cases where re-evaluation is ok for the same iname
+ // e.g. when changing the expression in a watcher.
+ UpdateParameters params;
+ params.partialVariable = iname;
+ doUpdateLocals(params);
+}
+
void DebuggerEngine::expandItem(const QByteArray &iname)
{
updateItem(iname);
diff --git a/src/plugins/debugger/debuggerengine.h b/src/plugins/debugger/debuggerengine.h
index 4d82620f6e..86f7a56721 100644
--- a/src/plugins/debugger/debuggerengine.h
+++ b/src/plugins/debugger/debuggerengine.h
@@ -197,6 +197,7 @@ public:
virtual bool canHandleToolTip(const DebuggerToolTipContext &) const;
virtual void expandItem(const QByteArray &iname); // Called when item in tree gets expanded.
virtual void updateItem(const QByteArray &iname); // Called for fresh watch items.
+ void updateWatchData(const QByteArray &iname); // FIXME: Merge with above.
virtual void selectWatchData(const QByteArray &iname);
virtual void startDebugger(DebuggerRunControl *runControl);
diff --git a/src/plugins/debugger/watchhandler.cpp b/src/plugins/debugger/watchhandler.cpp
index 18786f2cf0..bcbeffbaaa 100644
--- a/src/plugins/debugger/watchhandler.cpp
+++ b/src/plugins/debugger/watchhandler.cpp
@@ -1445,7 +1445,7 @@ void WatchHandler::watchExpression(const QString &exp0, const QString &name)
item->setValue(QString(QLatin1Char(' ')));
item->update();
} else {
- m_model->m_engine->updateItem(item->iname);
+ m_model->m_engine->updateWatchData(item->iname);
}
updateWatchersWindow();
}