wayland/subsurface: Handle clients committing on destroyed subsurface

A client can still commit state to a destroyed subsurface. It wont
update anything on the screen, since the subsurface will not be
visible, but mutter should still handle it and not crash.

https://bugzilla.gnome.org/show_bug.cgi?id=781391
This commit is contained in:
Jonas Ådahl 2017-04-17 13:27:35 +08:00
parent eb394f19d3
commit bb481fafdb

View File

@ -615,7 +615,7 @@ subsurface_role_get_toplevel (MetaWaylandSurfaceRole *surface_role)
meta_wayland_surface_role_get_surface (surface_role); meta_wayland_surface_role_get_surface (surface_role);
MetaWaylandSurface *parent = surface->sub.parent; MetaWaylandSurface *parent = surface->sub.parent;
if (parent->role) if (parent && parent->role)
return meta_wayland_surface_role_get_toplevel (parent->role); return meta_wayland_surface_role_get_toplevel (parent->role);
else else
return NULL; return NULL;