[prev in list] [next in list] [prev in thread] [next in thread] 

List:       kde-commits
Subject:    KDE/kdelibs/kstyles/plastik
From:       Matthias Kretz <kretz () kde ! org>
Date:       2007-03-20 20:43:25
Message-ID: 1174423405.630283.929.nullmailer () svn ! kde ! org
[Download RAW message or body]

SVN commit 644748 by mkretz:

this should fix a big memleak as QCache::take returns ownership of the object to the \
caller, but the caller didn't delete it. Looking a few lines below I think this \
should be QCache::object instead (i.e. keep the object in the cache and keep \
ownership):

==10404== 20,459,456 (355,292 direct, 20,104,164 indirect) bytes in 12,689 blocks are \
definitely lost in loss record 395 of 405 ==10404==    at 0x4021B59: operator \
new(unsigned) (vg_replace_malloc.c:163) ==10404==    by 0x6CC9327: \
PlastikStyle::renderGradient(QPainter*, QRect const&, QColor const&, QColor const&, \
bool) const (plastik.cpp:2391)


 M  +1 -1      plastik.cpp  


--- trunk/KDE/kdelibs/kstyles/plastik/plastik.cpp #644747:644748
@@ -2320,7 +2320,7 @@
     int key = search.key();
 
     CacheEntry *cacheEntry;
-    if( (cacheEntry = pixmapCache->take(key)) ) {
+    if( (cacheEntry = pixmapCache->object(key)) ) {
         if( search == *cacheEntry ) { // match! we can draw now...
             if(cacheEntry->pixmap) {
                 painter->drawTiledPixmap(rect, *(cacheEntry->pixmap) );


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic