From 443d579d402d82ae6b178036266f46576f9e2fbc Mon Sep 17 00:00:00 2001 From: Olivier Fourdan Date: Tue, 8 Sep 2015 11:52:10 +0200 Subject: [PATCH] wayland: do not crash if the surface is gone If a queued event is being processed after the surface is destroyed, trying to access the window associated with the surface will lead to a segmentation fault. This patch avoids the crash by first checking if the surface is not null. https://bugzilla.gnome.org/show_bug.cgi?id=754715 --- src/compositor/meta-surface-actor-wayland.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/compositor/meta-surface-actor-wayland.c b/src/compositor/meta-surface-actor-wayland.c index d89f6dcd3..4e3ae8d6e 100644 --- a/src/compositor/meta-surface-actor-wayland.c +++ b/src/compositor/meta-surface-actor-wayland.c @@ -293,8 +293,12 @@ static MetaWindow * meta_surface_actor_wayland_get_window (MetaSurfaceActor *actor) { MetaSurfaceActorWaylandPrivate *priv = meta_surface_actor_wayland_get_instance_private (META_SURFACE_ACTOR_WAYLAND (actor)); + MetaWaylandSurface *surface = priv->surface; - return priv->surface->window; + if (!surface) + return NULL; + + return surface->window; } static void