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

V4 assert when connected to QQuickWindow::visibleChanged from JS

    XMLWordPrintable

Details

    • f844c588fc1e34e6269ba9636c2cb2706e94457b (qtdeclarative)

    Description

      The attached QML (run with qmlscene) creates two top-level Window, and calls Qt.quit() when one of them is closed. The engine's destruction destroys the second still-visible window. If a JS function is connected to the visibleChanged signal of that window, there is an assert:

      ASSERT: "v4" in file jsruntime/qv4qobjectwrapper.cpp, line 761

      5 libQt5Core_debug.5.dylib 0x0000000105012a12 qt_assert(char const*, char const*, int) + 82 (qglobal.cpp:2124)
      6 libQt5Qml_debug.5.dylib 0x0000000102b07548 QV4::QObjectSlotDispatcher::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void*, bool) + 328 (qv4qobjectwrapper.cpp:761)
      7 libQt5Core_debug.5.dylib 0x00000001053c6c9b QtPrivate::QSlotObjectBase::call(QObject*, void**) + 75 (qobject_impl.h:132)
      8 libQt5Core_debug.5.dylib 0x00000001053c2abc QMetaObject::activate(QObject*, int, int, void**) + 2428 (qobject.cpp:3668)
      9 libQt5Core_debug.5.dylib 0x00000001053c212d QMetaObject::activate(QObject*, QMetaObject const*, int, void**) + 61 (qobject.cpp:3549)
      10 libQt5Gui_debug.5.dylib 0x0000000104546e6b QWindow::visibleChanged(bool) + 75 (moc_qwindow.cpp:707)
      11 libQt5Gui_debug.5.dylib 0x0000000104546c6e QWindow::setVisible(bool) + 110 (qwindow.cpp:426)
      12 libQt5Gui_debug.5.dylib 0x00000001045462f6 QWindow::destroy() + 198 (qwindow.cpp:1521)

      Attachments

        1. qmlbug.qml
          1 kB
          John Brooks

        Activity

          People

            shausman Simon Hausmann
            special John Brooks
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: