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

QQuickCanvas classes make use of QSG classes outside the rendering thread

    XMLWordPrintable

Details

    • 9ad9615d0003c9fb84255152f0cbb473ee2a7a70

    Description

      This will result in undefined behavior!

      Specifically:

      • QQuickCanvasPixmap has a QSGTexture member but lives on the GUI thread and will be reference counted by the QML engine. If the QML engine outlives the scene graph, the texture will be deleted using deleteLater() which will result in either the texture leaking or if the scene graph is started up again, it will crash as the new scene graph will have a new GL context and may also not have a gl context at all when the DeferredDelete event gets delivered.
      • The QQuickContext2D contains a QQuickContext2DTexture which suffers from the exact same problem.

      Attachments

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

        Activity

          People

            sletta Gunnar Sletta
            sletta Gunnar Sletta
            Votes:
            1 Vote for this issue
            Watchers:
            4 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved:

              Gerrit Reviews

                There are no open Gerrit changes