Uploaded image for project: 'Qt'
  1. Qt
  2. QTBUG-59266

Crash while loading svg with no QApplication

    XMLWordPrintable

Details

    • Bug
    • Resolution: Invalid
    • P2: Important
    • None
    • 5.8.0
    • SVG Support
    • 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

        1. test.svg
          45 kB
        2. testsvg.zip
          2 kB
        For Gerrit Dashboard: QTBUG-59266
        # Subject Branch Project Status CR V

        Activity

          People

            wearyinside Oleg Yadrov
            kovidgoyal Kovid Goyal
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved:

              Gerrit Reviews

                There are no open Gerrit changes