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

QPMCache deleted from another thread

    XMLWordPrintable

Details

    • Bug
    • Resolution: Fixed
    • P2: Important
    • 5.15.6, 6.2.0
    • 6.0, 6.1, 6.2.0 Beta3, 5.15
    • GUI: Painting
    • None
    • All
    • ce006d117e343fce748f48a58533459d7ca428b9 (qt/tqtc-qtbase/6.2.0)

    Description

      The only instance of QPMCache is a global static QObject and, by this, deleted when QtGui library is detached by the process. Basically, it is possible that library unloading takes place in another thread than the main thread. In this case, the thread-affine QPMCache object is deleted in thread different from its associated thread. Since QPMCache basically has a running timer (30 minute interval update timer) its deletion produces a warning: QObject::~QObject: Timers cannot be stopped from another thread.

      Solution: 
      QPMCache::clear() which is invoked by ~QGuiApplication() should also stop the update timer from QPMCache.
       

      Attachments

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

        Activity

          People

            vgt Eirik Aavitsland
            docjambi Peter Droste
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved:

              Gerrit Reviews

                There are no open Gerrit changes