[mutter/wayland] pointer/keyboard: Unset focus_resource when the surface is destroyed



commit 337c69e22322713b92b074ab5b4934bdf513c00f
Author: Jasper St. Pierre <jstpierre mecheye net>
Date:   Sat Feb 22 18:11:20 2014 -0500

    pointer/keyboard: Unset focus_resource when the surface is destroyed
    
    focus_resource is supposed to be set only if focus_surface is
    as well.

 src/wayland/meta-wayland-keyboard.c |    3 +++
 src/wayland/meta-wayland-pointer.c  |    3 +++
 2 files changed, 6 insertions(+), 0 deletions(-)
---
diff --git a/src/wayland/meta-wayland-keyboard.c b/src/wayland/meta-wayland-keyboard.c
index e07b6f2..198996e 100644
--- a/src/wayland/meta-wayland-keyboard.c
+++ b/src/wayland/meta-wayland-keyboard.c
@@ -224,6 +224,9 @@ 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;
 }
 
 static void
diff --git a/src/wayland/meta-wayland-pointer.c b/src/wayland/meta-wayland-pointer.c
index 88ced65..e554cb6 100644
--- a/src/wayland/meta-wayland-pointer.c
+++ b/src/wayland/meta-wayland-pointer.c
@@ -62,6 +62,9 @@ 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;
 }
 
 static void


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]