Version: 3.4 beta 2 (using KDE KDE 3.3.92) Installed from: Unlisted Binary Package KDE 3.4 Beta 2 XComposite extension: enabled Testcase: 1. take an application, start it on Desktop #1 http://mircea.bardac.net/temp/dd1_s.png 2. right click on title-bar > To Desktop > #2 3. switch to desktop #2 4. maximize the app by clicking the maximize button << repaint BUG http://mircea.bardac.net/temp/dd1_m.png ^ note that it looks like only the shadow is drawn (although I don't really know if that's how the shadow would look like) 5. restoring the application would give http://bugs.kde.org/show_bug.cgi?id=99832 http://mircea.bardac.net/temp/dd1_r.png
that's not related to desktop switches. no on (even on xorg) seems to know, why this happens do you have an nVidia card? (binary driver?)
Yep. Nvidia card (GF5700) + binary driver. This is the PKGBUILD of the nvidia driver: http://cvs.archlinux.org/cgi-bin/viewcvs.cgi/x11/nvidia/PKGBUILD?rev=1.9&cvsroot=Extra&only_with_tag=CURRENT&content-type=text/vnd.viewcvs-markup Note that it is also updated by several patches which appeared afterwards to fix some things (don't know which things are fixed though, I just use it).
Same behaviour with Xorg 6.8.2.
Problem doesn't occur with KStep or Redmond. Occurs with Plastik.
CVS commit by luebking: BUGS:99832 BUGS:99833 BUGS:93380 kompmgr now should get proper window shapes, removing several artefact bugs just swapping two lines in this file M +4 -2 geometry.cpp 2.102 --- kdebase/kwin/geometry.cpp #2.101:2.102 @@ -1607,6 +1607,7 @@ void Client::setGeometry( int x, int y, if( block_geometry == 0 ) { - XMoveResizeWindow( qt_xdisplay(), frameId(), x, y, w, h ); resizeDecoration( QSize( w, h )); + XMoveResizeWindow( qt_xdisplay(), frameId(), x, y, w, h ); +// resizeDecoration( QSize( w, h )); if( !isShade()) { @@ -1645,6 +1646,7 @@ void Client::plainResize( int w, int h, if( block_geometry == 0 ) { - XResizeWindow( qt_xdisplay(), frameId(), w, h ); resizeDecoration( QSize( w, h )); + XResizeWindow( qt_xdisplay(), frameId(), w, h ); +// resizeDecoration( QSize( w, h )); if( !isShade()) {