[mutter/wayland] pointer/keyboard: Fix segfault once more
- From: Jasper St. Pierre <jstpierre src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [mutter/wayland] pointer/keyboard: Fix segfault once more
- Date: Sun, 23 Feb 2014 15:00:46 +0000 (UTC)
commit ff8c4b1bcf1ecb30282c3b6ebe2574a4a520265a
Author: Jasper St. Pierre <jstpierre mecheye net>
Date: Sun Feb 23 09:59:42 2014 -0500
pointer/keyboard: Fix segfault once more
If the resource is destroyed before the surface, then we'll kill
ourselves. Why can I never seem to write these correctly...
src/wayland/meta-wayland-keyboard.c | 7 +++++--
src/wayland/meta-wayland-pointer.c | 7 +++++--
2 files changed, 10 insertions(+), 4 deletions(-)
---
diff --git a/src/wayland/meta-wayland-keyboard.c b/src/wayland/meta-wayland-keyboard.c
index 198996e..c357b77 100644
--- a/src/wayland/meta-wayland-keyboard.c
+++ b/src/wayland/meta-wayland-keyboard.c
@@ -225,8 +225,11 @@ keyboard_handle_focus_surface_destroy (struct wl_listener *listener, void *data)
wl_list_remove (&keyboard->focus_surface_listener.link);
keyboard->focus_surface = NULL;
- wl_list_remove (&keyboard->focus_resource_listener.link);
- keyboard->focus_resource = NULL;
+ if (keyboard->focus_resource)
+ {
+ wl_list_remove (&keyboard->focus_resource_listener.link);
+ keyboard->focus_resource = NULL;
+ }
}
static void
diff --git a/src/wayland/meta-wayland-pointer.c b/src/wayland/meta-wayland-pointer.c
index e554cb6..21e41bb 100644
--- a/src/wayland/meta-wayland-pointer.c
+++ b/src/wayland/meta-wayland-pointer.c
@@ -63,8 +63,11 @@ pointer_handle_focus_surface_destroy (struct wl_listener *listener, void *data)
wl_list_remove (&pointer->focus_surface_listener.link);
pointer->focus_surface = NULL;
- wl_list_remove (&pointer->focus_resource_listener.link);
- pointer->focus_resource = NULL;
+ if (pointer->focus_resource)
+ {
+ wl_list_remove (&pointer->focus_resource_listener.link);
+ pointer->focus_resource = NULL;
+ }
}
static void
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]