From 733430636d1a1e0fb49cf0665994f8ec064c8613 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Samuel=20R=C3=B8dal?= Date: Thu, 14 Feb 2013 09:02:24 +0100 Subject: Fixed crashes when using QImage in combination with QCoreApplication. As long as fonts weren't used we supported using QImage in combination with QCoreApplication in 4.x, and there's no reason we can't continue doing so. Task-number: QTBUG-29643 Change-Id: I2cf351d3c93f1c175bbf624e45024d39ab913111 Reviewed-by: Friedemann Kleint Reviewed-by: Gunnar Sletta Reviewed-by: Konstantin Ritt --- src/gui/image/qimage.cpp | 5 ++++- src/gui/text/qfont.cpp | 2 +- tests/auto/gui/image/qimage/tst_qimage.cpp | 2 +- 3 files changed, 6 insertions(+), 3 deletions(-) diff --git a/src/gui/image/qimage.cpp b/src/gui/image/qimage.cpp index 975ef54d6b0..481cb37c8cc 100644 --- a/src/gui/image/qimage.cpp +++ b/src/gui/image/qimage.cpp @@ -4944,7 +4944,10 @@ QPaintEngine *QImage::paintEngine() const if (!d->paintEngine) { QPaintDevice *paintDevice = const_cast(this); - QPaintEngine *paintEngine = QGuiApplicationPrivate::platformIntegration()->createImagePaintEngine(paintDevice); + QPaintEngine *paintEngine = 0; + QPlatformIntegration *platformIntegration = QGuiApplicationPrivate::platformIntegration(); + if (platformIntegration) + paintEngine = platformIntegration->createImagePaintEngine(paintDevice); d->paintEngine = paintEngine ? paintEngine : new QRasterPaintEngine(paintDevice); } diff --git a/src/gui/text/qfont.cpp b/src/gui/text/qfont.cpp index 72a24a46987..2961cb94934 100644 --- a/src/gui/text/qfont.cpp +++ b/src/gui/text/qfont.cpp @@ -672,7 +672,7 @@ void QFontPrivate::detachButKeepEngineData(QFont *font) \sa QGuiApplication::setFont(), QGuiApplication::font() */ QFont::QFont() - : d(QGuiApplication::font().d.data()), resolve_mask(0) + : d(QGuiApplicationPrivate::instance() ? QGuiApplication::font().d.data() : new QFontPrivate()), resolve_mask(0) { } diff --git a/tests/auto/gui/image/qimage/tst_qimage.cpp b/tests/auto/gui/image/qimage/tst_qimage.cpp index b668f579093..2cd5216c593 100644 --- a/tests/auto/gui/image/qimage/tst_qimage.cpp +++ b/tests/auto/gui/image/qimage/tst_qimage.cpp @@ -2115,5 +2115,5 @@ void tst_QImage::cleanupFunctions() } -QTEST_MAIN(tst_QImage) +QTEST_GUILESS_MAIN(tst_QImage) #include "tst_qimage.moc" -- cgit v1.2.3