aboutsummaryrefslogtreecommitdiffstats
path: root/src/plugins/debugger/watchutils.cpp
diff options
context:
space:
mode:
authorFriedemann Kleint <[email protected]>2009-07-15 16:07:57 +0200
committerFriedemann Kleint <[email protected]>2009-07-15 16:07:57 +0200
commit7a847df2b7a53686334b561bab3a099aec180587 (patch)
treebef88bed8b94ee5e20eb59d2c092d3aa0ce0fcf5 /src/plugins/debugger/watchutils.cpp
parent41a9395d21fd8075c8edfb37a06620dad8e47c0f (diff)
Fix CDB/output dumperversion correctly, dump maps correctly.
Diffstat (limited to 'src/plugins/debugger/watchutils.cpp')
-rw-r--r--src/plugins/debugger/watchutils.cpp12
1 files changed, 8 insertions, 4 deletions
diff --git a/src/plugins/debugger/watchutils.cpp b/src/plugins/debugger/watchutils.cpp
index cd6c7e21b32..d6daad15514 100644
--- a/src/plugins/debugger/watchutils.cpp
+++ b/src/plugins/debugger/watchutils.cpp
@@ -546,18 +546,22 @@ QList<WatchData> QtDumperResult::toWatchData(int source) const
WatchData &wchild = rc.back();
wchild.source = source;
wchild.iname = iname;
- wchild.iname += dot;
- wchild.iname += dchild.name;
+ // Name can be empty for array-like things
+ const QString iname = dchild.name.isEmpty() ? QString::number(c) : dchild.name;
// Use key entry as name (which is used for map nodes)
if (dchild.key.isEmpty()) {
- wchild.name = dchild.name;
+ wchild.name = iname;
} else {
+ // Do not use map keys as iname since they might contain quotes.
wchild.name = decodeData(dchild.key, dchild.keyEncoded);
if (wchild.name.size() > 13) {
wchild.name.truncate(12);
wchild.name += QLatin1String("...");
}
}
+ // Append iname to total iname.
+ wchild.iname += dot;
+ wchild.iname += iname;
wchild.exp = dchild.exp;
if (dchild.valueEncountered) {
wchild.valuedisabled = dchild.valuedisabled;
@@ -1349,7 +1353,7 @@ void QtDumperHelper::evaluationParameters(const WatchData &data,
case QAbstractItemType:
inner = data.addr.mid(1);
break;
- case QVectorType:
+ case QVectorType:
if (m_qtVersion >= 0x040600)
extraArgs[1] = QString("(char*)&((%1).p->array)-(char*)((%2).p)")
.arg(data.exp).arg(data.exp);