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

Windows: dynamically creating a ComboBox with a ShaderEffect delegate triggers an assert

    XMLWordPrintable

    Details

    • Commits:
      8cab87677a7ad61b63f778e945404c0bbe13e8c7 (qt/qtdeclarative/5.12)

      Description

      To reproduce, run the attached example:

      import QtQuick 2.9
      import QtQuick.Controls 2.2
      
      ApplicationWindow {
          visible: true
          width: 640
          height: 480
      
          Component {
              id: cmp
              ComboBox {
                  model: 1
                  delegate: ShaderEffect{}
              }
          }
          Component.onCompleted: Qt.callLater(function(){ cmp.createObject(contentItem) })
      }
      

      It throws out:

      ASSERT: "engine" in file c:\users\qt\work\qt\qtdeclarative\src\qml\qml\qqmldata_p.h, line 274
      
      1  qt_message_fatal                                       qlogging.cpp                   1872 0x7fff626db55b 
      2  QMessageLogger::fatal                                  qlogging.cpp                   887  0x7fff626d9d32 
      3  qt_assert                                              qglobal.cpp                    3201 0x7fff626caa4b 
      4  QQmlData::ensurePropertyCache                          qqmldata_p.h                   280  0x7fff642cff92 
      5  QQuickOpenGLShaderEffectCommon::connectPropertySignals qquickopenglshadereffect.cpp   248  0x7fff61ae9c7a 
      6  QQuickOpenGLShaderEffectCommon::updateShader           qquickopenglshadereffect.cpp   440  0x7fff61aeb338 
      7  QQuickOpenGLShaderEffect::maybeUpdateShaders           qquickopenglshadereffect.cpp   970  0x7fff61aedf8d 
      8  QQuickShaderEffectPrivate::updatePolish                qquickshadereffect.cpp         870  0x7fff61addf74 
      9  QQuickWindowPrivate::polishItems                       qquickwindow.cpp               310  0x7fff618ca982 
      10 QSGWindowsRenderLoop::renderWindow                     qsgwindowsrenderloop.cpp       468  0x7fff6181986c 
      11 QSGWindowsRenderLoop::render                           qsgwindowsrenderloop.cpp       391  0x7fff618192aa 
      12 QSGWindowsRenderLoop::exposureChanged                  qsgwindowsrenderloop.cpp       300  0x7fff61818c53 
      13 QQuickWindow::exposeEvent                              qquickwindow.cpp               230  0x7fff618bd7df 
      14 QWindow::event                                         qwindow.cpp                    2310 0x7fff6352fe2b 
      15 QQuickWindow::event                                    qquickwindow.cpp               1674 0x7fff618bddc0 
      16 QCoreApplicationPrivate::notify_helper                 qcoreapplication.cpp           1220 0x7fff62ac486e 
      17 doNotify                                               qcoreapplication.cpp           1150 0x7fff62ac60d8 
      18 QCoreApplication::notify                               qcoreapplication.cpp           1137 0x7fff62ac1e41 
      19 QGuiApplication::notify                                qguiapplication.cpp            1792 0x7fff6350e0b4 
      20 QCoreApplication::notifyInternal2                      qcoreapplication.cpp           1060 0x7fff62ac38b6 
      21 QCoreApplication::sendSpontaneousEvent                 qcoreapplication.cpp           1463 0x7fff62ac375b 
      22 QGuiApplicationPrivate::processExposeEvent             qguiapplication.cpp            3067 0x7fff63514592 
      23 QGuiApplicationPrivate::processWindowSystemEvent       qguiapplication.cpp            1903 0x7fff63513bbc 
      24 QWindowSystemInterface::sendWindowSystemEvents         qwindowsysteminterface.cpp     1077 0x7fff634e1f95 
      25 QWindowSystemInterface::flushWindowSystemEvents        qwindowsysteminterface.cpp     1037 0x7fff634e21c2 
      26 QWindowsWindow::handleWmPaint                          qwindowswindow.cpp             1902 0x7fff621faf2c 
      27 QWindowsContext::windowsProc                           qwindowscontext.cpp            1219 0x7fff6221f087 
      28 qWindowsWndProc                                        qwindowscontext.cpp            1567 0x7fff622158d5 
      29 CallWindowProcW                                        USER32                              0x7fffb4d5b85d 
      30 CallWindowProcW                                        USER32                              0x7fffb4d5b40b 
      31 rx::SurfaceWindowProc                                  SurfaceD3D.cpp                 280  0x7fff603bf2f0 
      32 CallWindowProcW                                        USER32                              0x7fffb4d5b85d 
      33 CallWindowProcW                                        USER32                              0x7fffb4d5b54c 
      34 GetTopWindow                                           USER32                              0x7fffb4d719c3 
      35 KiUserCallbackDispatcher                               ntdll                               0x7fffb6e33d44 
      36 NtUserDispatchMessage                                  win32u                              0x7fffb3491744 
      37 DispatchMessageW                                       USER32                              0x7fffb4d5b272 
      38 QEventDispatcherWin32::processEvents                   qeventdispatcher_win.cpp       640  0x7fff62b84f68 
      39 QWindowsGuiEventDispatcher::processEvents              qwindowsguieventdispatcher.cpp 74   0x7fff622d3004 
      40 QEventLoop::processEvents                              qeventloop.cpp                 139  0x7fff62abdae3 
      41 QEventLoop::exec                                       qeventloop.cpp                 225  0x7fff62abdd1e 
      42 QCoreApplication::exec                                 qcoreapplication.cpp           1363 0x7fff62ac13af 
      43 QGuiApplication::exec                                  qguiapplication.cpp            1780 0x7fff6350e048 
      44 main                                                   main.cpp                       13   0x7ff71b3c29ad 
      45 WinMain                                                qtmain_win.cpp                 97   0x7ff71b3c60c5 
      46 invoke_main                                            exe_common.inl                 107  0x7ff71b3c48cd 
      47 __scrt_common_main_seh                                 exe_common.inl                 283  0x7ff71b3c47c7 
      48 __scrt_common_main                                     exe_common.inl                 326  0x7ff71b3c468e 
      49 WinMainCRTStartup                                      exe_winmain.cpp                17   0x7ff71b3c4959 
      50 BaseThreadInitThunk                                    KERNEL32                            0x7fffb4801fe4 
      51 RtlUserThreadStart                                     ntdll                               0x7fffb6dfcb31                                                                                             
      

        Attachments

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

          Activity

            People

            • Assignee:
              qt.team.quick.subscriptions Qt Quick and Widgets Team
              Reporter:
              poikelin Joni Poikelin
            • Votes:
              1 Vote for this issue
              Watchers:
              7 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved:

                Gerrit Reviews

                There are no open Gerrit changes