Diffusion KWin 295138145ca2

Make sure that effect windows outlive effects

Authored by zzag on Dec 1 2018, 4:23 PM.

Description

Make sure that effect windows outlive effects

Summary:
Compositing is suspended/finished in a very hard way fashion, effect
windows are destroyed without notifying effects about it.

AnimationEffect tries gracefully release deleted windows, but because
in some cases(like when suspending compositing) a deleted window can
be already destroyed, a segmentation fault can happen.

This change adjusts the order in which effect windows and effects are
destroyed, so AnimationEffect (and other effects) cannot access dangling
pointers.

BUG: 400788
FIXED-IN: 5.15.0

Reviewers: KWin, graesslin

Reviewed By: KWin, graesslin

Subscribers: graesslin, kwin

Tags: KWin

Differential Revision: https://phabricator.kde.org/D17311

Details