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

QML types can retain invalid references when QQmlEngine is destroyed before the loading is finished

    XMLWordPrintable

Details

    • ebceda0cad6d86f6d6fe5efbf85a3b06fb4222b0

    Description

      The type loader frequently passes method calls back and forth between its own thread and the main thread. In order to make sure the objects needed by the method calls are not deleted in between, it takes a reference before posting a message to the other thread, and releases that reference once the method has been executed. See for example QQmlTypeLoaderThread::load and QQmlTypeLoaderThread::loadThread to illustrate this. When the QML engine gets deleted, all messages queued by the type loader are dropped. This means the references taken for those messages are never released, and the objects referenced that way can never be deleted anymore.

      Attachments

        Issue Links

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

          Activity

            People

              ulherman Ulf Hermann
              ulherman Ulf Hermann
              Votes:
              0 Vote for this issue
              Watchers:
              4 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved:

                Gerrit Reviews

                  There are no open Gerrit changes