[effects/slideback] Consider windows which do have painting disabled as not usable

Summary:
On Wayland it can happen that a window is still in the stacking order
although it is not visible. This is mostly the case for Plasma windows.
So far the slideback effect did not ignore those windows and as they are
higher in the stacking order than most other windows it blocked the
effect from working once a Plasma panel element got closed.

This change considers a window which has painting disabled in the
stacking order as not usable and thus filters out all those windows.

BUG: 364483

Reviewers: #kwin, #plasma

Subscribers: plasma-devel, kwin

Tags: #kwin

Differential Revision: https://phabricator.kde.org/D5462
This commit is contained in:
Martin Gräßlin 2017-04-15 11:59:45 +02:00
parent 9a13743c49
commit 919b497f90

View file

@ -295,7 +295,7 @@ void SlideBackEffect::slotTabBoxClosed()
bool SlideBackEffect::isWindowUsable(EffectWindow* w) bool SlideBackEffect::isWindowUsable(EffectWindow* w)
{ {
return w && (w->isNormalWindow() || w->isDialog()) && !w->keepAbove() && !w->isDeleted() && !w->isMinimized() return w && (w->isNormalWindow() || w->isDialog()) && !w->keepAbove() && !w->isDeleted() && !w->isMinimized()
&& w->isCurrentTab(); && w->isCurrentTab() && w->isPaintingEnabled();
} }
bool SlideBackEffect::intersects(EffectWindow* windowUnder, const QRect &windowOverGeometry) bool SlideBackEffect::intersects(EffectWindow* windowUnder, const QRect &windowOverGeometry)