SVN commit 971259 by menard: Mr X really really love when we free his pixmap memory.
Hop hop hop, never forget to release the data that you allocate when you return in the middle of a method. This code was leaking like a hell. I'll close the bug open for that. CCBUG:183191 CCMAIL:plasma-devel@kde.org M +8 -3 x11embedcontainer.cpp --- trunk/KDE/kdebase/workspace/plasma/applets/systemtray/protocols/fdo/x11embedcontainer.cpp #971258:971259 @@ -244,9 +244,11 @@ else image = background.copy().toImage(); //With the X11 graphics engine, we have to create a copy first, else we get a crash - if(d->oldBackgroundImage == image) + if(d->oldBackgroundImage == image) { + XFreePixmap(display, bg); + XRenderFreePicture(display, picture); return; - + } d->oldBackgroundImage = image; if (background.paintEngine()->type() != QPaintEngine::X11) { @@ -342,8 +344,11 @@ ximage.blue_mask = 0x001f; } ximage.obdata = 0; - if (XInitImage(&ximage) == 0) + if (XInitImage(&ximage) == 0) { + XRenderFreePicture(display, picture); + XFreePixmap(display, bg); return; + } Pixmap pm = XCreatePixmap(display, clientWinId(), width(), height(), ximage.depth); GC gc = XCreateGC(display, pm, 0, 0); _______________________________________________ Plasma-devel mailing list Plasma-devel@kde.org https://mail.kde.org/mailman/listinfo/plasma-devel