Magellan Linux

Annotation of /trunk/qt4/patches/qt-4.5.1-qt-copy_fix-qpixmapcache-leak.patch

Parent Directory Parent Directory | Revision Log Revision Log


Revision 835 - (hide annotations) (download)
Mon Jun 8 21:21:53 2009 UTC (14 years, 11 months ago) by niro
File size: 896 byte(s)
more patches

1 niro 835 qt-bugs@ issue : none
2     Qt Software task ID : none
3     bugs.kde.org number : 183191
4     applied: yes
5     author: Alexis Menard <alexis.menard@nokia.com>
6    
7     Make sure that QPixmapCache release the old pixmap if
8     you reinsert a QPixmap with the same key.
9    
10     This patch is already in 4.5 branch.
11    
12     --- src/gui/image/qpixmapcache.cpp
13     +++ src/gui/image/qpixmapcache.cpp
14     @@ -187,6 +187,11 @@ bool QPMCache::insert(const QString& key, const QPixmap &pixmap, int cost)
15     cacheKeys.insert(key, cacheKey);
16     return true;
17     }
18     + qint64 oldCacheKey = cacheKeys.value(key, -1);
19     + //If for the same key we add already a pixmap we should delete it
20     + if (oldCacheKey != -1)
21     + QCache<qint64, QDetachedPixmap>::remove(oldCacheKey);
22     +
23     bool success = QCache<qint64, QDetachedPixmap>::insert(cacheKey, new QDetachedPixmap(pixmap), cost);
24     if (success) {
25     cacheKeys.insert(key, cacheKey);