aboutsummaryrefslogtreecommitdiffstats
path: root/share
diff options
context:
space:
mode:
authorhjk <qtc-committer@nokia.com>2009-11-19 16:17:35 +0100
committerhjk <qtc-committer@nokia.com>2009-11-20 10:11:21 +0100
commite2cfc0958e6d409a1eae00add67251cedc9c532c (patch)
treedbd6e89bf5b61a2210b0e69ed5ade50caa4aa137 /share
parent40518ac11c549f34f711ce057822ac51fdb8c9b5 (diff)
debugger: mark 'Null' QStrings() in pretty-printers
Diffstat (limited to 'share')
-rw-r--r--share/qtcreator/gdbmacros/gdbmacros.cpp24
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())