From f07944389ebb40c180af7467adb75cb2247e6071 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Martin=20Gr=C3=A4=C3=9Flin?= Date: Mon, 5 Jan 2009 12:52:27 +0000 Subject: [PATCH] Redirect windows when there is an active fullscreen effect. This solves the problem of unredirected fullscreen applications blocking effects like present windows or desktop grid. BUG: 176996 svn path=/trunk/KDE/kdebase/workspace/; revision=906014 --- composite.cpp | 3 ++- effects.cpp | 1 + 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/composite.cpp b/composite.cpp index d543352766..e256110904 100644 --- a/composite.cpp +++ b/composite.cpp @@ -830,7 +830,8 @@ void Toplevel::addWorkspaceRepaint( const QRect& r2 ) bool Toplevel::updateUnredirectedState() { assert( compositing()); - bool should = shouldUnredirect() && !unredirectSuspend && !shape() && !hasAlpha() && opacity() == 1.0; + bool should = shouldUnredirect() && !unredirectSuspend && !shape() && !hasAlpha() && opacity() == 1.0 && + !static_cast( effects )->activeFullScreenEffect(); if( should && !unredirect ) { unredirect = true; diff --git a/effects.cpp b/effects.cpp index 8de9cd6903..d45bf41333 100644 --- a/effects.cpp +++ b/effects.cpp @@ -305,6 +305,7 @@ void EffectsHandlerImpl::tabBoxUpdated() void EffectsHandlerImpl::setActiveFullScreenEffect( Effect* e ) { fullscreen_effect = e; + Workspace::self()->checkUnredirect(); } Effect* EffectsHandlerImpl::activeFullScreenEffect() const