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

Crash with QQuickWidget and native text rendering when display cable is unplugged.

    XMLWordPrintable

Details

    • 41a0be329c3f31345afc61b622e49fc4bc3bce08

    Description

      I had my application open on my laptop and I bumped my monitor's HDMI cable which disconnected it. This caused the QQuickWidget to crash with the following stack:

      > Qt5Guid.dll!QScreen::devicePixelRatio() Line 229 C++
      Qt5Quickd.dll!QSGTextMaskMaterial::init(QFontEngine::GlyphFormat glyphFormat) Line 354 C++
      Qt5Quickd.dll!QSGTextMaskMaterial::QSGTextMaskMaterial(const QRawFont & font, QFontEngine::GlyphFormat glyphFormat) Line 323 C++
      Qt5Quickd.dll!QSGDefaultGlyphNode::update() Line 98 C++
      Qt5Quickd.dll!QQuickTextNode::addGlyphs(const QPointF & position, const QGlyphRun & glyphs, const QColor & color, QQuickText::TextStyle style, const QColor & styleColor, QSGNode * parentNode) Line 162 C++
      Qt5Quickd.dll!QQuickTextNodeEngine::addToSceneGraph(QQuickTextNode * parentNode, QQuickText::TextStyle style, const QColor & styleColor) Line 738 C++
      Qt5Quickd.dll!QQuickTextNode::addTextLayout(const QPointF & position, QTextLayout * textLayout, const QColor & color, QQuickText::TextStyle style, const QColor & styleColor, const QColor & anchorColor, const QColor & selectionColor, const QColor & selectedTextColor, int selectionStart, int selectionEnd, int lineStart, int lineCount) Line 306 C++
      Qt5Quickd.dll!QQuickText::updatePaintNode(QSGNode * oldNode, QQuickItem::UpdatePaintNodeData * data) Line 2243 C++
      Qt5Quickd.dll!QQuickWindowPrivate::updateDirtyNode(QQuickItem * item) Line 2809 C++
      Qt5Quickd.dll!QQuickWindowPrivate::updateDirtyNodes() Line 2635 C++
      Qt5Quickd.dll!QQuickWindowPrivate::syncSceneGraph() Line 340 C++
      Qt5Quickd.dll!QQuickRenderControl::sync() Line 237 C++
      Qt5QuickWidgetsd.dll!QQuickWidgetPrivate::render(bool needsSync) Line 212 C++
      Qt5QuickWidgetsd.dll!QQuickWidgetPrivate::renderSceneGraph() Line 239 C++
      Qt5QuickWidgetsd.dll!QQuickWidget::timerEvent(QTimerEvent * e) Line 869 C++
      Qt5Cored.dll!QObject::event(QEvent * e) Line 1227 C++
      Qt5Widgetsd.dll!QWidget::event(QEvent * event) Line 9077 C++
      Qt5QuickWidgetsd.dll!QQuickWidget::event(QEvent * e) Line 1116 C++
      Qt5Widgetsd.dll!QApplicationPrivate::notify_helper(QObject * receiver, QEvent * e) Line 3722 C++
      Qt5Widgetsd.dll!QApplication::notify(QObject * receiver, QEvent * e) Line 3687 C++
      Qt5Cored.dll!QCoreApplication::notifyInternal(QObject * receiver, QEvent * event) Line 932 C++
      Qt5Cored.dll!QCoreApplication::sendEvent(QObject * receiver, QEvent * event) Line 228 C++
      Qt5Cored.dll!QEventDispatcherWin32Private::sendTimerEvent(int timerId) Line 616 C++
      Qt5Cored.dll!QEventDispatcherWin32::event(QEvent * e) Line 1173 C++
      Qt5Widgetsd.dll!QApplicationPrivate::notify_helper(QObject * receiver, QEvent * e) Line 3722 C++
      Qt5Widgetsd.dll!QApplication::notify(QObject * receiver, QEvent * e) Line 3164 C++
      Qt5Cored.dll!QCoreApplication::notifyInternal(QObject * receiver, QEvent * event) Line 932 C++
      Qt5Cored.dll!QCoreApplication::sendEvent(QObject * receiver, QEvent * event) Line 228 C++
      Qt5Cored.dll!QCoreApplicationPrivate::sendPostedEvents(QObject * receiver, int event_type, QThreadData * data) Line 1536 C++
      Qt5Cored.dll!QCoreApplication::sendPostedEvents(QObject * receiver, int event_type) Line 1395 C++
      qwindowsd.dll!QWindowsGuiEventDispatcher::sendPostedEvents() Line 81 C++
      Qt5Cored.dll!qt_internal_proc(HWND__ * hwnd, unsigned int message, unsigned __int64 wp, __int64 lp) Line 413 C++
      [External Code]
      Qt5Cored.dll!QEventDispatcherWin32::processEvents(QFlags<enum QEventLoop::ProcessEventsFlag> flags) Line 787 C++
      qwindowsd.dll!QWindowsGuiEventDispatcher::processEvents(QFlags<enum QEventLoop::ProcessEventsFlag> flags) Line 72 C++
      Qt5Cored.dll!QEventLoop::processEvents(QFlags<enum QEventLoop::ProcessEventsFlag> flags) Line 129 C++
      Qt5Cored.dll!QEventLoop::exec(QFlags<enum QEventLoop::ProcessEventsFlag> flags) Line 204 C++
      Qt5Cored.dll!QCoreApplication::exec() Line 1185 C++
      Qt5Guid.dll!QGuiApplication::exec() Line 1533 C++
      Qt5Widgetsd.dll!QApplication::exec() Line 2957 C++
      ICE.exe!main(int argc, char * * argv) Line 312 C++

      Attachments

        No reviews matched the request. Check your Options in the drop-down menu of this sections header.

        Activity

          People

            lagocs Laszlo Agocs
            gemmell Simon Gemmell
            Votes:
            3 Vote for this issue
            Watchers:
            10 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved:

              Gerrit Reviews

                There are no open Gerrit changes