[PATCH weston] desktop-shell: destroy surfaces in an idle handler after fade out

Pekka Paalanen ppaalanen at gmail.com
Tue May 26 03:10:45 PDT 2015


On Tue, 14 Apr 2015 17:09:06 -0500
Derek Foreman <derekf at osg.samsung.com> wrote:

> It's possible for more than one animation to be taking place on a view at
> the same time.  If one of those animations is the shell's fade out for
> dying surfaces, its completion handler will trigger the surface destroy
> signal, causing other animations on the animation list to remove themselves.
> 
> Since this removal occurs during the linked list walk, the compositor may
> crash.
> 
> We move the actual surface destruction into an idle handler to avoid this.
> 
> Signed-off-by: Derek Foreman <derekf at osg.samsung.com>
> ---
>  desktop-shell/shell.c | 19 ++++++++++++++++++-
>  1 file changed, 18 insertions(+), 1 deletion(-)

R-b and Tested-by me. It was easy to hit the crash with
$ while ./xwayland-test.weston; do date; done

Pushed before RC2:
   3dd570e..039e9be  master -> master


Thanks,
pq


More information about the wayland-devel mailing list