From b070bc842b181c081260b24eecdd0cc39cf7bca5 Mon Sep 17 00:00:00 2001 From: Rivo Laks Date: Sat, 3 Nov 2007 11:35:39 +0000 Subject: [PATCH] Add repaint when window is closed. Fixes shadows left on desktop when kickoff or app menus are closed svn path=/trunk/KDE/kdebase/workspace/; revision=732268 --- effects/shadow.cpp | 5 +++++ effects/shadow.h | 1 + 2 files changed, 6 insertions(+) diff --git a/effects/shadow.cpp b/effects/shadow.cpp index c8546853ba..678a98ba19 100644 --- a/effects/shadow.cpp +++ b/effects/shadow.cpp @@ -73,6 +73,11 @@ QRect ShadowEffect::transformWindowDamage( EffectWindow* w, const QRect& r ) QRect r2 = r | shadowRectangle( r ); return effects->transformWindowDamage( w, r2 ); } + +void ShadowEffect::windowClosed( EffectWindow* c ) + { + effects->addRepaint( shadowRectangle( c->geometry() )); + } bool ShadowEffect::useShadow( EffectWindow* w ) const { diff --git a/effects/shadow.h b/effects/shadow.h index ee1f8c9529..213d4b110f 100644 --- a/effects/shadow.h +++ b/effects/shadow.h @@ -28,6 +28,7 @@ class ShadowEffect virtual void paintWindow( EffectWindow* w, int mask, QRegion region, WindowPaintData& data ); virtual void postPaintWindow( EffectWindow* w ); virtual QRect transformWindowDamage( EffectWindow* w, const QRect& r ); + virtual void windowClosed( EffectWindow* c ); private: void drawShadow( EffectWindow* w, int mask, QRegion region, WindowPaintData& data ); void addQuadVertices(QVector& verts, float x1, float y1, float x2, float y2) const;