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

QtQuick2 QML module plugin does not deinitialize value type providers on destruction

    XMLWordPrintable

Details

    • b60bedf42ce7714180ced5597e8849b66a4d942b (qtdeclarative)

    Description

      The librarymetrics_performance benchmark highlights several issues related to handling of plugins and types after calling qmlClearTypeRegistrations().

      In particular, the QtQuick2 QML module will initialize its value type providers during registration, but will not deinitialize them during destruction, which can result in "cycles" in the QML engine's value type provider linked list (resulting in hangs).

      Furthermore, the QML type compiler has unsafe code when dealing with types which have been registered by a plugin which was previous unloaded and then reloaded, due to the use of a static pointer variable.

      Attachments

        Issue Links

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

          Activity

            People

              chrisadams Christopher Adams
              chrisadams Christopher Adams
              Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved:

                Gerrit Reviews

                  There are no open Gerrit changes