diff options
author | hjk <qtc-committer@nokia.com> | 2009-11-19 16:17:35 +0100 |
---|---|---|
committer | hjk <qtc-committer@nokia.com> | 2009-11-20 10:11:21 +0100 |
commit | e2cfc0958e6d409a1eae00add67251cedc9c532c (patch) | |
tree | dbd6e89bf5b61a2210b0e69ed5ade50caa4aa137 /share | |
parent | 40518ac11c549f34f711ce057822ac51fdb8c9b5 (diff) |
debugger: mark 'Null' QStrings() in pretty-printers
Diffstat (limited to 'share')
-rw-r--r-- | share/qtcreator/gdbmacros/gdbmacros.cpp | 24 |
1 files changed, 16 insertions, 8 deletions
diff --git a/share/qtcreator/gdbmacros/gdbmacros.cpp b/share/qtcreator/gdbmacros/gdbmacros.cpp index 0af17f99cb..6463538c5b 100644 --- a/share/qtcreator/gdbmacros/gdbmacros.cpp +++ b/share/qtcreator/gdbmacros/gdbmacros.cpp @@ -77,6 +77,7 @@ #if USE_QT_GUI # include <QtGui/QApplication> # include <QtGui/QImage> +# include <QtGui/QRegion> # include <QtGui/QPixmap> # include <QtGui/QWidget> # include <QtGui/QFont> @@ -478,6 +479,7 @@ struct QDumper void putHash(const char *name, QChar value); void putHash(const char *name, float value); void putHash(const char *name, double value); + void putStringValue(const QString &value); void beginHash(); // start of data hash output void endHash(); // start of data hash output @@ -710,6 +712,16 @@ void QDumper::putBase64Encoded(const char *buf, int n) } } +void QDumper::putStringValue(const QString &str) +{ + if (str.isNull()) { + putItem("value", "\"\" (null)"); + } else { + putItem("value", str); + putItem("valueencoded", "2"); + } +} + void QDumper::disarm() { success = true; @@ -784,10 +796,9 @@ void QDumper::putHash(const char *name, const QString &value) { beginHash(); putItem("name", name); - putItem("value", value); + putStringValue(value); putItem("type", NS"QString"); putItem("numchild", "0"); - putItem("valueencoded", "2"); endHash(); } @@ -859,9 +870,8 @@ void QDumper::putHash(const char *name, QChar value) { beginHash(); putItem("name", name); - putItem("value", QString(QLatin1String("'%1' (%2, 0x%3)")) + putStringValue(QString(QLatin1String("'%1' (%2, 0x%3)")) .arg(value).arg(value.unicode()).arg(value.unicode(), 0, 16)); - putItem("valueencoded", "2"); putItem("type", NS"QChar"); putItem("numchild", "0"); endHash(); @@ -2850,8 +2860,7 @@ static void qDumpQString(QDumper &d) return; } - d.putItem("value", str); - d.putItem("valueencoded", "2"); + d.putStringValue(str); d.putItem("type", NS"QString"); //d.putItem("editvalue", str); // handled generically below d.putItem("numchild", "0"); @@ -2880,8 +2889,7 @@ static void qDumpQStringList(QDumper &d) d.beginChildren(n ? NS"QString" : 0); for (int i = 0; i != n; ++i) { d.beginHash(); - d.putItem("value", list[i]); - d.putItem("valueencoded", "2"); + d.putStringValue(list.at(i)); d.endHash(); } if (n < list.size()) |