[PATCH weston 17/19] bindings: make install_binding_grab take a keyboard instead of a seat

Derek Foreman derekf at osg.samsung.com
Wed Jun 3 13:53:36 PDT 2015


It doesn't need the seat pointer, and the caller should already have
tested that the keyboard pointer is valid.

Signed-off-by: Derek Foreman <derekf at osg.samsung.com>
---
 src/bindings.c | 17 ++++++++++-------
 1 file changed, 10 insertions(+), 7 deletions(-)

diff --git a/src/bindings.c b/src/bindings.c
index 31dcd63..4f2f203 100644
--- a/src/bindings.c
+++ b/src/bindings.c
@@ -250,15 +250,15 @@ static const struct weston_keyboard_grab_interface binding_grab = {
 };
 
 static void
-install_binding_grab(struct weston_seat *seat, uint32_t time, uint32_t key,
-                     struct weston_surface *focus)
+install_binding_grab(struct weston_keyboard *keyboard, uint32_t time,
+		     uint32_t key, struct weston_surface *focus)
 {
 	struct binding_keyboard_grab *grab;
 
 	grab = malloc(sizeof *grab);
 	grab->key = key;
 	grab->grab.interface = &binding_grab;
-	weston_keyboard_start_grab(seat->keyboard, &grab->grab);
+	weston_keyboard_start_grab(keyboard, &grab->grab);
 
 	/* Notify the surface which had the focus before this binding
 	 * triggered that we stole a keypress from under it, by forcing
@@ -268,9 +268,9 @@ install_binding_grab(struct weston_seat *seat, uint32_t time, uint32_t key,
 	 * If the old focus surface is different than the new one it
 	 * means it was changed in the binding handler, so it received
 	 * the enter event already. */
-	if (focus && seat->keyboard->focus == focus) {
-		weston_keyboard_set_focus(seat->keyboard, NULL);
-		weston_keyboard_set_focus(seat->keyboard, focus);
+	if (focus && keyboard->focus == focus) {
+		weston_keyboard_set_focus(keyboard, NULL);
+		weston_keyboard_set_focus(keyboard, focus);
 	}
 }
 
@@ -301,7 +301,10 @@ weston_compositor_run_key_binding(struct weston_compositor *compositor,
 			 * swallow the key press. */
 			if (seat->keyboard->grab ==
 			    &seat->keyboard->default_grab)
-				install_binding_grab(seat, time, key, focus);
+				install_binding_grab(seat->keyboard,
+						     time,
+						     key,
+						     focus);
 		}
 	}
 }
-- 
2.1.4



More information about the wayland-devel mailing list