Commit 126cbbde authored by hjk's avatar hjk

debugger: remove QtGui dependency from debugging helpers

It was only used for the watch-QImage-while-it-is-being-drawn-on feature,
which does not seem overly useful.

[Cherry-picked from master]
parent 67a0281c
......@@ -55,7 +55,13 @@
int qtGhVersion = QT_VERSION;
#ifdef QT_GUI_LIB
#ifndef USE_QT_GUI
# ifdef QT_GUI_LIB
# define USE_QT_GUI 1
# endif
#endif
#if USE_QT_GUI
# include <QtGui/QWidget>
# include <QtGui/QPixmap>
# include <QtGui/QImage>
......@@ -1299,9 +1305,9 @@ static void qDumpQHashNode(QDumper &d)
d.disarm();
}
#if USE_QT_GUI
static void qDumpQImage(QDumper &d)
{
#ifdef QT_GUI_LIB
const QImage &im = *reinterpret_cast<const QImage *>(d.data);
P(d, "value", "(" << im.width() << "x" << im.height() << ")");
P(d, "type", NS"QImage");
......@@ -1315,14 +1321,12 @@ static void qDumpQImage(QDumper &d)
d.endHash();
}
d.disarm();
#else
Q_UNUSED(d);
#endif
}
#endif
#if USE_QT_GUI
static void qDumpQImageData(QDumper &d)
{
#ifdef QT_GUI_LIB
const QImage &im = *reinterpret_cast<const QImage *>(d.data);
const QByteArray ba(QByteArray::fromRawData((const char*)im.bits(), im.numBytes()));
P(d, "type", NS"QImageData");
......@@ -1337,10 +1341,8 @@ static void qDumpQImageData(QDumper &d)
P(d, "value", ba);
#endif
d.disarm();
#else
Q_UNUSED(d);
#endif
}
#endif
static void qDumpQList(QDumper &d)
{
......@@ -2023,18 +2025,16 @@ static void qDumpQObjectSlotList(QDumper &d)
}
#if USE_QT_GUI
static void qDumpQPixmap(QDumper &d)
{
#ifdef QT_GUI_LIB
const QPixmap &im = *reinterpret_cast<const QPixmap *>(d.data);
P(d, "value", "(" << im.width() << "x" << im.height() << ")");
P(d, "type", NS"QPixmap");
P(d, "numchild", "0");
d.disarm();
#else
Q_UNUSED(d);
#endif
}
#endif
static void qDumpQSet(QDumper &d)
{
......@@ -2698,10 +2698,12 @@ static void handleProtocolVersion2and3(QDumper & d)
qDumpStdList(d);
break;
case 'I':
#if USE_QT_GUI
if (isEqual(type, "QImage"))
qDumpQImage(d);
else if (isEqual(type, "QImageData"))
qDumpQImageData(d);
#endif
break;
case 'L':
if (isEqual(type, "QList"))
......@@ -2738,8 +2740,10 @@ static void handleProtocolVersion2and3(QDumper & d)
qDumpQObjectSlotList(d);
break;
case 'P':
#if USE_QT_GUI
if (isEqual(type, "QPixmap"))
qDumpQPixmap(d);
#endif
break;
case 'S':
if (isEqual(type, "QSet"))
......@@ -2861,7 +2865,9 @@ void *qDumpObjectData440(
"\""NS"QTextCodec\","
"\""NS"QVariant\","
"\""NS"QVector\","
#if USE_QT_GUI
"\""NS"QWidget\","
#endif
#if QT_VERSION >= 0x040500
"\""NS"QMultiMap\","
"\""NS"QSharedPointer\","
......@@ -2896,7 +2902,7 @@ void *qDumpObjectData440(
<< ""NS"QString=\"" << sizeof(QString) << "\","
<< ""NS"QStringList=\"" << sizeof(QStringList) << "\","
<< ""NS"QObject=\"" << sizeof(QObject) << "\","
#ifdef QT_GUI_LIB
#if USE_QT_GUI
<< ""NS"QWidget=\"" << sizeof(QWidget)<< "\","
#endif
#ifdef Q_OS_WIN
......
TEMPLATE = lib
CONFIG += shared
QT = core
linux-* {
CONFIG -= release
CONFIG += debug
}
SOURCES=gdbmacros.cpp
true {
DEFINES += USE_QT_GUI=0
QT = core
} else {
DEFINES += USE_QT_GUI=1
QT = core gui
}
exists($$QMAKE_INCDIR_QT/QtCore/private/qobject_p.h) {
DEFINES+=HAS_QOBJECT_P_H
}
......@@ -14,5 +14,13 @@ CONFIG += debug
QMAKE_CXXFLAGS *= -O2
}
true {
DEFINES += USE_QT_GUI=0
QT = core
} else {
DEFINES += USE_QT_GUI=1
QT = core gui
}
SOURCES += ../../../share/qtcreator/gdbmacros/gdbmacros.cpp
TEMPLATE = app
QT = core
SOURCES += ../../../../share/qtcreator/gdbmacros/gdbmacros.cpp
SOURCES += main.cpp
#include <QApplication>
#include <QCoreApplication>
extern "C"
void qDumpObjectData440(
......@@ -14,6 +14,6 @@ void qDumpObjectData440(
int main(int argc, char *argv[])
{
QApplication app(argc, argv);
QCoreApplication app(argc, argv);
return 0;
}
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment