[prev in list] [next in list] [prev in thread] [next in thread]
List: kde-commits
Subject: branches/KDE/4.0/kdebase/workspace/kwin/effects
From: Luboš Luňák <l.lunak () kde ! org>
Date: 2008-01-29 17:03:08
Message-ID: 1201626188.009845.27726.nullmailer () svn ! kde ! org
[Download RAW message or body]
SVN commit 768277 by lunakl:
Temporary hack for #156798 until http://lists.kde.org/?l=kwin&m=120138051215450&w=2
is evaluated.
CCBUG: 156798
M +19 -0 desktopgrid.cpp
--- branches/KDE/4.0/kdebase/workspace/kwin/effects/desktopgrid.cpp #768276:768277
@@ -29,6 +29,10 @@
#include <netwm_def.h>
#include <qevent.h>
+#ifdef KWIN_HAVE_OPENGL_COMPOSITING
+#include <GL/gl.h>
+#endif
+
namespace KWin
{
@@ -132,13 +136,28 @@
if( window_move != NULL )
desktop_with_move = window_move->isOnAllDesktops()
? posToDesktop( window_move_pos - window_move_diff ) : window_move->desktop();
+#ifdef KWIN_HAVE_OPENGL_COMPOSITING
+ glPushAttrib( GL_SCISSOR_BIT );
+ glEnable( GL_SCISSOR_TEST );
+#endif
for( int desktop = 1;
desktop <= effects->numberOfDesktops();
++desktop )
{
if( desktop != desktop_with_move )
+ {
+#ifdef KWIN_HAVE_OPENGL_COMPOSITING
+ QRect area = desktopRect( desktop, true );
+ int dh = displayHeight();
+ // Scissor rect has to be given in OpenGL coords
+ glScissor( area.x(), dh - area.y() - area.height(), area.width(), area.height());
+#endif
paintScreenDesktop( desktop, mask, region, data );
+ }
}
+#ifdef KWIN_HAVE_OPENGL_COMPOSITING
+ glPopAttrib();
+#endif
// paint the desktop with the window being moved as the last one, i.e. on top of others
if( desktop_with_move != -1 )
paintScreenDesktop( desktop_with_move, mask, region, data );
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic