diff --git a/share/qtcreator/gdbmacros/gdbmacros.cpp b/share/qtcreator/gdbmacros/gdbmacros.cpp index b3361414bcb9a4541d12bbdff606d38ad6270b2f..b93bb69a4a3e1f3443d2963307ba3118d3e8d5ab 100644 --- a/share/qtcreator/gdbmacros/gdbmacros.cpp +++ b/share/qtcreator/gdbmacros/gdbmacros.cpp @@ -3480,7 +3480,7 @@ void *qDumpObjectData440( "\"").put(((QT_VERSION >> 8) & 255)).put("\"," "\"").put(((QT_VERSION) & 255)).put("\"]"); d.put(",namespace=\""NS"\","); - d.put(",dumperversion=\"1.3\","); + d.put("dumperversion=\"1.3\","); // Dump out size information d.put("sizes={"); d.put("int=\"").put(sizeof(int)).put("\",") diff --git a/src/plugins/debugger/watchutils.cpp b/src/plugins/debugger/watchutils.cpp index cd6c7e21b32873bbb16855a13ad3751cccc40598..d6daad15514058301f36b854229619f7df71d303 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);