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

When moving a QQuickWidget with Scene3D in it from one Window to another it will crash when trying to resize the window it is in

    XMLWordPrintable

Details

    • 2b8bc44a88490d359b986ecfbf7c71d8216daa4c

    Description

      When moving a QQuickWidget from one window to another then it will crash when trying to resize the window it is in. In the example attached (qtbug63304.zip) it will wait 2 seconds before moving to the other top-level widget, if you try to resize that window then it crashes with the following stack:

      Thread 0 Crashed:: Dispatch queue: com.apple.main-thread
      0   org.qt-project.Qt3DRender     	0x0000000109b3f54d Qt3DRender::Render::GraphicsContext::setCurrentStateSet(Qt3DRender::Render::RenderStateSet*) + 13 (graphicscontext.cpp:834)
      1   org.qt-project.Qt3DRender     	0x0000000109a996c7 Qt3DRender::Render::Renderer::doRender() + 343 (qscopedpointer.h:118)
      2   libqtquickscene3dplugin.dylib 	0x0000000109a7b03f Qt3DRender::Scene3DRenderer::render() + 1967 (scene3drenderer.cpp:305)
      3   org.qt-project.QtCore         	0x00000001018836ab QMetaObject::activate(QObject*, int, int, void**) + 2347 (atomic:936)
      4   org.qt-project.QtQuick        	0x0000000100a26601 QQuickWindowPrivate::renderSceneGraph(QSize const&) + 113 (qquickwindow.cpp:453)
      5   org.qt-project.QtQuick        	0x0000000100af3afd QQuickRenderControl::render() + 45 (qquickrendercontrol.cpp:344)
      6   org.qt-project.QtQuickWidgets 	0x00000001008fd6b6 QQuickWidgetPrivate::render(bool) + 326 (qquickwidget.cpp:290)
      7   org.qt-project.QtWidgets      	0x00000001025e68b8 QWidget::event(QEvent*) + 1000 (qwidget.cpp:8935)
      8   org.qt-project.QtQuickWidgets 	0x00000001009011ef QQuickWidget::event(QEvent*) + 799 (qquickwidget.cpp:1495)
      9   org.qt-project.QtWidgets      	0x00000001025ad742 QApplicationPrivate::notify_helper(QObject*, QEvent*) + 306 (qcoreapplication_p.h:104)
      10  org.qt-project.QtWidgets      	0x00000001025aea5f QApplication::notify(QObject*, QEvent*) + 383 (qapplication.cpp:3104)
      11  org.qt-project.QtCore         	0x00000001018527df QCoreApplication::notifyInternal2(QObject*, QEvent*) + 159 (qcoreapplication.cpp:1044)
      12  org.qt-project.QtWidgets      	0x00000001025e3f25 QWidgetPrivate::setGeometry_sys(int, int, int, int, bool) + 1861 (qscopedpointer.h:140)
      13  org.qt-project.QtWidgets      	0x00000001025e4270 QWidget::setGeometry(QRect const&) + 464 (qwidget.cpp:7223)
      14  org.qt-project.QtWidgets      	0x00000001025ca9f1 QWidgetItem::setGeometry(QRect const&) + 705 (qlayoutitem.cpp:504)
      15  org.qt-project.QtWidgets      	0x00000001025bea8c QBoxLayout::setGeometry(QRect const&) + 1868 (qboxlayout.cpp:808)
      16  org.qt-project.QtWidgets      	0x00000001025c7425 QLayoutPrivate::doResize(QSize const&) + 149 (qlayout.cpp:591)
      17  org.qt-project.QtWidgets      	0x00000001025ad722 QApplicationPrivate::notify_helper(QObject*, QEvent*) + 274 (qapplication.cpp:3728)
      18  org.qt-project.QtWidgets      	0x00000001025aea5f QApplication::notify(QObject*, QEvent*) + 383 (qapplication.cpp:3104)
      19  org.qt-project.QtCore         	0x00000001018527df QCoreApplication::notifyInternal2(QObject*, QEvent*) + 159 (qcoreapplication.cpp:1044)
      20  org.qt-project.QtWidgets      	0x0000000102607f47 QWidgetWindow::handleResizeEvent(QResizeEvent*) + 103 (qsharedpointer_impl.h:565)
      21  org.qt-project.QtWidgets      	0x000000010260619d QWidgetWindow::event(QEvent*) + 461 (qwidgetwindow.cpp:295)
      22  org.qt-project.QtWidgets      	0x00000001025ad742 QApplicationPrivate::notify_helper(QObject*, QEvent*) + 306 (qcoreapplication_p.h:104)
      23  org.qt-project.QtWidgets      	0x00000001025aea5f QApplication::notify(QObject*, QEvent*) + 383 (qapplication.cpp:3104)
      24  org.qt-project.QtCore         	0x00000001018527df QCoreApplication::notifyInternal2(QObject*, QEvent*) + 159 (qcoreapplication.cpp:1044)
      25  org.qt-project.QtGui          	0x0000000100f9679d QGuiApplicationPrivate::processGeometryChangeEvent(QWindowSystemInterfacePrivate::GeometryChangeEvent*) + 381 (qguiapplication.cpp:2265)
      

      Attachments

        For Gerrit Dashboard: QTBUG-63304
        # Subject Branch Project Status CR V

        Activity

          People

            lagocs Laszlo Agocs
            andysh Andy Shaw
            Votes:
            1 Vote for this issue
            Watchers:
            6 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved:

              Gerrit Reviews

                There are no open Gerrit changes