Details
-
Bug
-
Resolution: Fixed
-
P2: Important
-
5.15, 6.0, 6.1, 6.2.0 Beta3
-
None
-
-
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
For Gerrit Dashboard: QTBUG-96101 | ||||||
---|---|---|---|---|---|---|
# | Subject | Branch | Project | Status | CR | V |
367917,2 | When clearing QPixmapCache, stop its flushing timer | dev | qt/qtbase | Status: MERGED | +2 | 0 |
368165,2 | When clearing QPixmapCache, stop its flushing timer | 6.2 | qt/qtbase | Status: MERGED | +2 | 0 |
368229,2 | When clearing QPixmapCache, stop its flushing timer | tqtc/lts-5.15 | qt/tqtc-qtbase | Status: MERGED | +2 | 0 |