aboutsummaryrefslogtreecommitdiffstats
path: root/src/quick
diff options
context:
space:
mode:
authorTor Arne Vestbø <tor.arne.vestbo@nokia.com>2012-02-03 14:11:27 +0100
committerQt by Nokia <qt-info@nokia.com>2012-02-06 12:21:14 +0100
commit56db0a314ec66655cb56a4690775c58527288342 (patch)
tree43088a86894e59c93ac1df305862236bff36a27d /src/quick
parent63ac4c6a4706637d9499210086f387b3849b6ad0 (diff)
Don't start timers in the QDeclarativePixmapStore destructor
Timers use global static data, which might have been torn down at the point where we start the timer. Change-Id: Id11de05ae92b9a3652f9b1d7c3d5ca4947ffe065 Reviewed-by: João Abecasis <joao.abecasis@nokia.com> Reviewed-by: Simon Hausmann <simon.hausmann@nokia.com> Reviewed-by: Gunnar Sletta <gunnar.sletta@nokia.com>
Diffstat (limited to 'src/quick')
-rw-r--r--src/quick/util/qdeclarativepixmapcache.cpp5
1 files changed, 5 insertions, 0 deletions
diff --git a/src/quick/util/qdeclarativepixmapcache.cpp b/src/quick/util/qdeclarativepixmapcache.cpp
index 6460136775..80359231d3 100644
--- a/src/quick/util/qdeclarativepixmapcache.cpp
+++ b/src/quick/util/qdeclarativepixmapcache.cpp
@@ -724,6 +724,11 @@ QDeclarativePixmapStore::~QDeclarativePixmapStore()
int leakedPixmaps = 0;
QList<QDeclarativePixmapData*> cachedData = m_cache.values();
+ // Prevent unreferencePixmap() from assuming it needs to kick
+ // off the cache expiry timer, as we're shrinking the cache
+ // manually below after releasing all the pixmaps.
+ m_timerId = -2;
+
// unreference all (leaked) pixmaps
foreach (QDeclarativePixmapData* pixmap, cachedData) {
int currRefCount = pixmap->refCount;