From 95c0b1c130b64af5ce44414fe1d0742ebb18b2b9 Mon Sep 17 00:00:00 2001 From: hjk Date: Thu, 26 Mar 2009 10:58:56 +0100 Subject: [PATCH] debugger: cosmetical improvements of QVariant dumper output --- share/qtcreator/gdbmacros/gdbmacros.cpp | 6 +++--- src/plugins/debugger/gdbengine.cpp | 3 +++ tests/manual/gdbdebugger/simple/app.cpp | 12 ++++++++++-- 3 files changed, 16 insertions(+), 5 deletions(-) diff --git a/share/qtcreator/gdbmacros/gdbmacros.cpp b/share/qtcreator/gdbmacros/gdbmacros.cpp index d0e3d68c5cb..5e7ec1294cd 100644 --- a/share/qtcreator/gdbmacros/gdbmacros.cpp +++ b/share/qtcreator/gdbmacros/gdbmacros.cpp @@ -2013,7 +2013,7 @@ static void qDumpQVariantHelper(const void *data, QString *value, *numchild = 0; break; case QVariant::StringList: - *exp = QString(QLatin1String("((QVariant*)%1)->d.data.c")) + *exp = QString(QLatin1String("(('"NS"QVariant'*)%1)->d.data.c")) .arg((quintptr)data); *numchild = v.toStringList().size(); break; @@ -2057,7 +2057,7 @@ static void qDumpQVariant(QDumper &d) ba += ") "; ba += qPrintable(value); P(d, "value", ba); - P(d, "valueencoded", "1"); + P(d, "valueencoded", "4"); } P(d, "type", NS"QVariant"); P(d, "numchild", (isInvalid ? "0" : "1")); @@ -2069,7 +2069,7 @@ static void qDumpQVariant(QDumper &d) P(d, "exp", qPrintable(exp)); if (!value.isEmpty()) { P(d, "value", value); - P(d, "valueencoded", "1"); + P(d, "valueencoded", "4"); } P(d, "type", v.typeName()); P(d, "numchild", numchild); diff --git a/src/plugins/debugger/gdbengine.cpp b/src/plugins/debugger/gdbengine.cpp index d624e084d4d..daf2e6e0c0b 100644 --- a/src/plugins/debugger/gdbengine.cpp +++ b/src/plugins/debugger/gdbengine.cpp @@ -2790,6 +2790,9 @@ static void setWatchDataValue(WatchData &data, const GdbMi &mi, ba = QString::fromUcs4((uint *)ba.data(), ba.size() / 4).toUtf8(); ba = '"' + ba + '"'; break; + case 4: // base64 encoded 8 bit data + ba = QByteArray::fromBase64(mi.data()); + break; } data.setValue(ba); } else { diff --git a/tests/manual/gdbdebugger/simple/app.cpp b/tests/manual/gdbdebugger/simple/app.cpp index 7f6dda7b415..141c7b54739 100644 --- a/tests/manual/gdbdebugger/simple/app.cpp +++ b/tests/manual/gdbdebugger/simple/app.cpp @@ -783,10 +783,18 @@ void testQVariant1() void testQVariant2() { + int i = 1; QVariant var; + var.setValue(1); + var.setValue(2); + var.setValue(3); + var.setValue(QString("Hello")); + var.setValue(QString("World")); + var.setValue(QString("Hello")); var.setValue(QStringList() << "World"); - var.setValue(QStringList() << "Hello"); - var.setValue(QStringList() << "World"); + var.setValue(QStringList() << "World" << "Hello"); + var.setValue(QStringList() << "Hello" << "Hello"); + var.setValue(QStringList() << "World" << "Hello" << "Hello"); #if 0 QVariant var3; QHostAddress ha("127.0.0.1");