kwin/effects
Martin Gräßlin fb69b791a1 Ensure that all Effects honour the grab roles correctly
Summary:
When windows get added some effects grab the window and want to be the
only one animating this window. For this the grab roles exists. An
effect being notified later on evaluates the grab state and does not
start the animation.

This process failed due to being dependent on the order the effects are
loaded. Window Added/Closed are signals emitted by EffectsHandler, thus
first come, first serve. The requested effect order does not play into
it.

Due to that it could happen that an Effect which should not animate,
started to animate as the grab was still there.

This change adds the possibility to be notified whenever the window data
changes. A new signal is added to EffectsHandler which is emitted
whenever the windowData changes. The interested effects connect to it
and cancel their (just started) animation for the window.

Adjusted effects are:
* ScaleIn
* Fade
* WobblyWindows

In case of WobblyWindows an additional logical error was fixed that the
animations were only run when an effect grabbed instead of the other way
around.

BUG: 336866
FIXED-IN: 5.8.4

Reviewers: #kwin, #plasma, broulik

Subscribers: plasma-devel, kwin

Tags: #kwin

Differential Revision: https://phabricator.kde.org/D3211
2016-11-07 11:45:09 +01:00
..
backgroundcontrast
blur
coverswitch
cube
desktopgrid
dialogparent
diminactive
dimscreen
eyeonscreen
fade Ensure that all Effects honour the grab roles correctly 2016-11-07 11:45:09 +01:00
fadedesktop
fallapart
flipswitch
glide
highlightwindow
invert
kscreen
login
logout/data
lookingglass
magiclamp
magnifier
maximize
minimizeanimation
morphingpopups SVN_SILENT made messages (.desktop file) - always resolve ours 2016-10-21 12:01:48 +00:00
mouseclick
mousemark
presentwindows
resize
scalein Ensure that all Effects honour the grab roles correctly 2016-11-07 11:45:09 +01:00
screenedge
screenshot
sheet
showfps
showpaint
slide
slideback
slidingpopups Ensure that all Effects honour the grab roles correctly 2016-11-07 11:45:09 +01:00
snaphelper
startupfeedback
thumbnailaside
touchpoints
trackmouse
translucency
windowaperture
windowgeometry
wobblywindows Ensure that all Effects honour the grab roles correctly 2016-11-07 11:45:09 +01:00
zoom
CMakeLists.txt
effect_builtins.cpp
effect_builtins.h
kwineffect.desktop
logging.cpp
Messages.sh
shaders.qrc