[mutter] pointer/keyboard: Unset the entire focus when the surface is destroyed



commit 8c0ef829c9d89f86403b3ca88f525374b9336dcb
Author: Jasper St. Pierre <jstpierre mecheye net>
Date:   Wed Apr 16 19:04:09 2014 -0400

    pointer/keyboard: Unset the entire focus when the surface is destroyed
    
    Otherwise, we'll end up with dangling parts in our resource list.

 src/wayland/meta-wayland-keyboard.c |    2 +-
 src/wayland/meta-wayland-pointer.c  |    2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)
---
diff --git a/src/wayland/meta-wayland-keyboard.c b/src/wayland/meta-wayland-keyboard.c
index 08e0934..0d20f62 100644
--- a/src/wayland/meta-wayland-keyboard.c
+++ b/src/wayland/meta-wayland-keyboard.c
@@ -210,7 +210,7 @@ keyboard_handle_focus_surface_destroy (struct wl_listener *listener, void *data)
 {
   MetaWaylandKeyboard *keyboard = wl_container_of (listener, keyboard, focus_surface_listener);
 
-  keyboard->focus_surface = NULL;
+  meta_wayland_keyboard_set_focus (keyboard, NULL);
 }
 
 static gboolean
diff --git a/src/wayland/meta-wayland-pointer.c b/src/wayland/meta-wayland-pointer.c
index f5535a6..6929dbd 100644
--- a/src/wayland/meta-wayland-pointer.c
+++ b/src/wayland/meta-wayland-pointer.c
@@ -59,7 +59,7 @@ pointer_handle_focus_surface_destroy (struct wl_listener *listener, void *data)
 {
   MetaWaylandPointer *pointer = wl_container_of (listener, pointer, focus_surface_listener);
 
-  pointer->focus_surface = NULL;
+  meta_wayland_pointer_set_focus (pointer, NULL);
 }
 
 static void


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