diff options
author | Friedemann Kleint <[email protected]> | 2009-07-15 16:07:57 +0200 |
---|---|---|
committer | Friedemann Kleint <[email protected]> | 2009-07-15 16:07:57 +0200 |
commit | 7a847df2b7a53686334b561bab3a099aec180587 (patch) | |
tree | bef88bed8b94ee5e20eb59d2c092d3aa0ce0fcf5 /src/plugins/debugger/watchutils.cpp | |
parent | 41a9395d21fd8075c8edfb37a06620dad8e47c0f (diff) |
Fix CDB/output dumperversion correctly, dump maps correctly.
Diffstat (limited to 'src/plugins/debugger/watchutils.cpp')
-rw-r--r-- | src/plugins/debugger/watchutils.cpp | 12 |
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); |