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
This commit is contained in:
Martin Gräßlin 2009-01-05 12:52:27 +00:00
parent e8cbd42ded
commit f07944389e
2 changed files with 3 additions and 1 deletions

View file

@ -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<EffectsHandlerImpl*>( effects )->activeFullScreenEffect();
if( should && !unredirect )
{
unredirect = true;

View file

@ -305,6 +305,7 @@ void EffectsHandlerImpl::tabBoxUpdated()
void EffectsHandlerImpl::setActiveFullScreenEffect( Effect* e )
{
fullscreen_effect = e;
Workspace::self()->checkUnredirect();
}
Effect* EffectsHandlerImpl::activeFullScreenEffect() const