clutter-actor: Remove transitions when removing an effect
If there are any in-progress transitions on any properties of the
effect, these will cause a crash next time they tick and update, as they
will try to access a @effects.${effect_name}.${property_name}
property
on the ClutterActor
which no longer resolves to an effect. In some
cases this will be because priv->effects
itself is now NULL
on the
ClutterActor
.
This can be triggered by rapidly toggling screen time limits on and off in gnome-shell with a low screen time limit which has already been reached for the day. It will alternately add a desaturation effect and fade-in transition, then remove the effect, then the transition will update and crash.
Avoid this by removing relevant transitions when removing an effect.
Signed-off-by: Philip Withnall pwithnall@gnome.org
Closes: gnome-shell#8168 (closed)