diff options
author | Gunnar Sletta <gunnar.sletta@nokia.com> | 2010-09-27 11:41:38 +0200 |
---|---|---|
committer | Gunnar Sletta <gunnar.sletta@nokia.com> | 2010-09-27 11:41:38 +0200 |
commit | 2271315eb46665b0a9e61ff0525340713163c1b6 (patch) | |
tree | d0068e34924eca85eb6af4089b3f443a89c929f6 /src/openvg/qvgimagepool.cpp | |
parent | 33e7ee9d1866f12a9b92fe4b5549c31e30974d8e (diff) | |
parent | 53d010a989aed878c21522cbaf0d75c7cf821b42 (diff) |
Merge branch 'master' of scm.dev.nokia.troll.no:qt/qt
Conflicts:
configure
src/corelib/global/qglobal.h
Diffstat (limited to 'src/openvg/qvgimagepool.cpp')
-rw-r--r-- | src/openvg/qvgimagepool.cpp | 13 |
1 files changed, 10 insertions, 3 deletions
diff --git a/src/openvg/qvgimagepool.cpp b/src/openvg/qvgimagepool.cpp index 78277aa4e8..0c236ea3e9 100644 --- a/src/openvg/qvgimagepool.cpp +++ b/src/openvg/qvgimagepool.cpp @@ -154,16 +154,23 @@ bool QVGImagePool::reclaimSpace(VGImageFormat format, Q_UNUSED(width); Q_UNUSED(height); - if (data) + bool succeeded = false; + bool wasInLRU = false; + if (data) { + wasInLRU = data->inLRU; moveToHeadOfLRU(data); + } QVGPixmapData *lrudata = pixmapLRU(); if (lrudata && lrudata != data) { lrudata->reclaimImages(); - return true; + succeeded = true; } - return false; + if (data && !wasInLRU) + removeFromLRU(data); + + return succeeded; } void QVGImagePool::hibernate() |