Debugger: Fix dumpers in case alphabetical sorting is off.

No longer change iname to obtain sorting.

Reviewed-by: hjk
This commit is contained in:
Friedemann Kleint
2010-10-08 14:55:57 +02:00
parent 561cad378e
commit edeccf7307
10 changed files with 74 additions and 56 deletions

View File

@@ -1666,7 +1666,7 @@ void setWatchDataDisplayedType(WatchData &data, const GdbMi &item)
void parseWatchData(const QSet<QByteArray> &expandedINames,
const WatchData &data0, const GdbMi &item,
bool sortMembers, QList<WatchData> *list)
QList<WatchData> *list)
{
//qDebug() << "HANDLE CHILDREN: " << data0.toString() << item.toString();
WatchData data = data0;
@@ -1711,6 +1711,7 @@ void parseWatchData(const QSet<QByteArray> &expandedINames,
int i = 0;
foreach (const GdbMi &child, children.children()) {
WatchData data1 = childtemplate;
data1.sortId = i++;
GdbMi name = child.findChild("name");
if (name.isValid())
data1.name = _(name.data());
@@ -1722,11 +1723,6 @@ void parseWatchData(const QSet<QByteArray> &expandedINames,
} else {
data1.iname = data.iname;
data1.iname += '.';
if (!sortMembers) {
char buf[10];
qsnprintf(buf, sizeof(buf) - 1, "%04d", i);
data1.iname += buf;
}
data1.iname += data1.name.toLatin1();
}
if (!data1.name.isEmpty() && data1.name.at(0).isDigit())
@@ -1747,8 +1743,7 @@ void parseWatchData(const QSet<QByteArray> &expandedINames,
//data1.name += " (" + skey + ")";
data1.name = skey;
}
parseWatchData(expandedINames, data1, child, sortMembers, list);
++i;
parseWatchData(expandedINames, data1, child, list);
}
}