summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDavid Faure <faure@kde.org>2010-03-31 11:13:38 +0200
committerBenjamin Poulain <benjamin.poulain@nokia.com>2010-03-31 11:13:38 +0200
commit27a110eb7238b8b8d72db968d813855a9c2afb08 (patch)
treea814332b2f45fd44b60b18570844acf984d3cdcc
parent287a8d25b0e13602d02abc301e64060f46fff0e9 (diff)
Fix crash when using qDebug() on a QBrush with Qt::TexturePattern style.
Merge-request: 541 Reviewed-by: Benjamin Poulain <benjamin.poulain@nokia.com>
-rw-r--r--src/gui/painting/qbrush.cpp3
-rw-r--r--tests/auto/qbrush/tst_qbrush.cpp13
2 files changed, 14 insertions, 2 deletions
diff --git a/src/gui/painting/qbrush.cpp b/src/gui/painting/qbrush.cpp
index 1a83b1d1cd..fcfc44d1ac 100644
--- a/src/gui/painting/qbrush.cpp
+++ b/src/gui/painting/qbrush.cpp
@@ -989,7 +989,8 @@ QDebug operator<<(QDebug dbg, const QBrush &b)
"LinearGradientPattern",
"RadialGradientPattern",
"ConicalGradientPattern",
- "TexturePattern"
+ 0, 0, 0, 0, 0, 0,
+ "TexturePattern" // 24
};
dbg.nospace() << "QBrush(" << b.color() << ',' << BRUSH_STYLES[b.style()] << ')';
diff --git a/tests/auto/qbrush/tst_qbrush.cpp b/tests/auto/qbrush/tst_qbrush.cpp
index bc2bc60e63..cff45c28c0 100644
--- a/tests/auto/qbrush/tst_qbrush.cpp
+++ b/tests/auto/qbrush/tst_qbrush.cpp
@@ -75,9 +75,10 @@ private slots:
void gradientStops();
void textures();
-
+
void nullBrush();
void isOpaque();
+ void debug();
};
Q_DECLARE_METATYPE(QBrush)
@@ -390,5 +391,15 @@ void tst_QBrush::isOpaque()
QVERIFY(!brush.isOpaque());
}
+void tst_QBrush::debug()
+{
+ QPixmap pixmap_source(10, 10);
+ fill(&pixmap_source);
+ QBrush pixmap_brush;
+ pixmap_brush.setTexture(pixmap_source);
+ QCOMPARE(pixmap_brush.style(), Qt::TexturePattern);
+ qDebug() << pixmap_brush; // don't crash
+}
+
QTEST_MAIN(tst_QBrush)
#include "tst_qbrush.moc"