Details
-
Bug
-
Resolution: Invalid
-
P2: Important
-
None
-
5.8.0
-
None
-
Linux, 64-bit Also happens on OSX and windows.
Description
Loading a SVG image via QImage when no QApplication has been created causes a crash. Instead of crashing, the image load should just fail. Since it is not always known what format of image is being loaded, and a QApplication is not required for th eother image formats, the svg loading code should handle this gracefully.
Backtrace for the crash:
Program terminated with signal SIGSEGV, Segmentation fault.
#0 0x00007fc81cc79b7f in QGuiApplication::font() () from /usr/lib/libQt5Gui.so.5
(gdb) #0 0x00007fc81cc79b7f in QGuiApplication::font() () at /usr/lib/libQt5Gui.so.5
#1 0x00007fc81cd4f480 in QFontDatabase::load(QFontPrivate const*, int) () at /usr/lib/libQt5Gui.so.5
#2 0x00007fc81cd24a5a in QFontPrivate::engineForScript(int) const () at /usr/lib/libQt5Gui.so.5
#3 0x00007fc81cd56ef4 in QTextEngine::fontEngine(QScriptItem const&, QFixed*, QFixed*, QFixed*) const () at /usr/lib/libQt5Gui.so.5
#4 0x00007fc81cd575de in QTextEngine::shapeText(int) const () at /usr/lib/libQt5Gui.so.5
#5 0x00007fc81cd5834d in QTextEngine::shape(int) const () at /usr/lib/libQt5Gui.so.5
#6 0x00007fc81cd6c46a in QTextLine::layout_helper(int) () at /usr/lib/libQt5Gui.so.5
#7 0x00007fc81cd6d099 in QTextLayout::createLine() () at /usr/lib/libQt5Gui.so.5
#8 0x00007fc80bfd6f98 in QSvgText::draw(QPainter*, QSvgExtraStates&) () at /usr/lib/libQt5Svg.so.5
#9 0x00007fc80bff03eb in QSvgG::draw(QPainter*, QSvgExtraStates&) () at /usr/lib/libQt5Svg.so.5
#10 0x00007fc80bff707b in QSvgTinyDocument::draw(QPainter*, QRectF const&) () at /usr/lib/libQt5Svg.so.5
#11 0x00007fc7f777a745 in () at /usr/lib/qt/plugins/imageformats/libqsvg.so
#12 0x00007fc81cce210b in () at /usr/lib/libQt5Gui.so.5
#13 0x00007fc81cce29af in QImageReader::read(QImage*) () at /usr/lib/libQt5Gui.so.5
#14 0x00007fc81cce2a64 in QImageReader::read() () at /usr/lib/libQt5Gui.so.5
#15 0x00007fc81ccce604 in QImage::fromData(unsigned char const*, int, char const*) () at /usr/lib/libQt5Gui.so.5
#16 0x00007fc81ccce6d1 in QImage::loadFromData(unsigned char const*, int, char const*) () at /usr/lib/libQt5Gui.so.5
Attachments
For Gerrit Dashboard: QTBUG-59266 | ||||||
---|---|---|---|---|---|---|
# | Subject | Branch | Project | Status | CR | V |
187764,4 | QGuiApplicationPrivate: add a Q_ASSERT to platformIntegration getter | 5.9 | qt/qtbase | Status: ABANDONED | +1 | 0 |