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) );