Version: (using Devel) Compiler: gcc 4.4.1 OS: Linux Installed from: Compiled sources Many decorations (namely: keramik, laptop, modern system, quartz, redmond, and web) have incorrect button rendering when compositing is enabled. The "black" portions of the buttons are "see-through": one can see the window/or background that is behind, through the button, as if it was actually a "hole" in the window. I think it is an issue with painting a "QBitmap" on the decoration, probably related to using ARGB. Other decorations, which do not use QBitmap do not have the problem. Might be a Qt problem. (using qt4.5.2)
you're right: it's the QBitmap (systematic problem, a bitmap is binary data and thus applies to all channels of the 32bit data - including the alpha channel) One should use a QPainterPath instead. I fixed that somewhen back for the kde2 deco: http://websvn.kde.org/trunk/KDE/kdebase/workspace/kwin/clients/kde2/kde2.cpp?r1=743055&r2=982672
Thomas: Great. That works like a charm. Will fix (that's pretty easy) and commit. Thanks for the tip.
while at it, keep an eye open for WA_NoBackground and WA_OpaquePaintEvent (they're the same) from my experience only WA_NoSystemBackground prevents Qt from painting junk on indirect rendering (don't unset WA_PaintOnScreen - it will make the client waste a lot of memory for no-sense dbl.buffering)
All faulty decorations have been fixed, checked, and committed. I think.