{
m_pendingRequests = 0;
if (isSynchroneous()) {
+ m_processedNames.clear();
manager()->watchHandler()->beginCycle();
m_toolTipExpression.clear();
QStringList expanded = m_manager->watchHandler()->expandedINames().toList();
#include "watchutils.h"
#include "debuggeractions.h"
#include "debuggermanager.h"
+#include "idebuggerengine.h"
#if USE_MODEL_TEST
#include "modeltest.h"
return;
}
if (data.isSomethingNeeded() && data.iname.contains('.')) {
- MODEL_DEBUG("SOMETHING NEEDED: " << data.toString());
- m_manager->updateWatchData(data);
+ MODEL_DEBUGX("SOMETHING NEEDED: " << data.toString());
+ if (!m_manager->currentEngine()->isSynchroneous()) {
+ m_manager->updateWatchData(data);
+ } else {
+ qDebug() << "ENDLESS LOOP: SOMETHING NEEDED: " << data.toString();
+ WatchData data1 = data;
+ data1.setAllUnneeded();
+ data1.setValue(QLatin1String("<unavailable synchroneous data>"));
+ data1.setHasChildren(false);
+ WatchModel *model = modelForIName(data.iname);
+ model->insertData(data1);
+ }
} else {
WatchModel *model = modelForIName(data.iname);
QTC_ASSERT(model, return);