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:
parent
e8cbd42ded
commit
f07944389e
2 changed files with 3 additions and 1 deletions
|
@ -830,7 +830,8 @@ void Toplevel::addWorkspaceRepaint( const QRect& r2 )
|
||||||
bool Toplevel::updateUnredirectedState()
|
bool Toplevel::updateUnredirectedState()
|
||||||
{
|
{
|
||||||
assert( compositing());
|
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 )
|
if( should && !unredirect )
|
||||||
{
|
{
|
||||||
unredirect = true;
|
unredirect = true;
|
||||||
|
|
|
@ -305,6 +305,7 @@ void EffectsHandlerImpl::tabBoxUpdated()
|
||||||
void EffectsHandlerImpl::setActiveFullScreenEffect( Effect* e )
|
void EffectsHandlerImpl::setActiveFullScreenEffect( Effect* e )
|
||||||
{
|
{
|
||||||
fullscreen_effect = e;
|
fullscreen_effect = e;
|
||||||
|
Workspace::self()->checkUnredirect();
|
||||||
}
|
}
|
||||||
|
|
||||||
Effect* EffectsHandlerImpl::activeFullScreenEffect() const
|
Effect* EffectsHandlerImpl::activeFullScreenEffect() const
|
||||||
|
|
Loading…
Reference in a new issue