The other set_focus() functions take the relevant type instead of a seat
already, so this is consistent.

Signed-off-by: Derek Foreman <[email protected]>
---

In addition to being more consistent with the other similar functions,
this also makes my patch to hide the seat->touch pointer behind a
helper function that protects against using it when
seat->touch_device_count == 0 a little simpler...

 desktop-shell/shell.c |  2 +-
 src/compositor.c      |  2 +-
 src/compositor.h      |  2 +-
 src/input.c           | 40 ++++++++++++++++++++--------------------
 4 files changed, 23 insertions(+), 23 deletions(-)

diff --git a/desktop-shell/shell.c b/desktop-shell/shell.c
index 96aa8f3..5f54dea 100644
--- a/desktop-shell/shell.c
+++ b/desktop-shell/shell.c
@@ -543,7 +543,7 @@ shell_touch_grab_start(struct shell_touch_grab *grab,
 
        weston_touch_start_grab(touch, &grab->grab);
        if (shell->child.desktop_shell)
-               weston_touch_set_focus(touch->seat,
+               weston_touch_set_focus(touch,
                                       get_default_view(shell->grab_surface));
 }
 
diff --git a/src/compositor.c b/src/compositor.c
index 1c06265..698ee52 100644
--- a/src/compositor.c
+++ b/src/compositor.c
@@ -1814,7 +1814,7 @@ weston_view_unmap(struct weston_view *view)
                                                 wl_fixed_from_int(0),
                                                 wl_fixed_from_int(0));
                if (seat->touch && seat->touch->focus == view)
-                       weston_touch_set_focus(seat, NULL);
+                       weston_touch_set_focus(seat->touch, NULL);
        }
 }
 
diff --git a/src/compositor.h b/src/compositor.h
index 31ef5c7..20109d7 100644
--- a/src/compositor.h
+++ b/src/compositor.h
@@ -418,7 +418,7 @@ weston_touch_create(void);
 void
 weston_touch_destroy(struct weston_touch *touch);
 void
-weston_touch_set_focus(struct weston_seat *seat,
+weston_touch_set_focus(struct weston_touch *touch,
                       struct weston_view *view);
 void
 weston_touch_start_grab(struct weston_touch *device,
diff --git a/src/input.c b/src/input.c
index 142c670..6604c5d 100644
--- a/src/input.c
+++ b/src/input.c
@@ -108,7 +108,7 @@ touch_focus_view_destroyed(struct wl_listener *listener, 
void *data)
                container_of(listener, struct weston_touch,
                             focus_view_listener);
 
-       weston_touch_set_focus(touch->seat, NULL);
+       weston_touch_set_focus(touch, NULL);
 }
 
 static void
@@ -118,7 +118,7 @@ touch_focus_resource_destroyed(struct wl_listener 
*listener, void *data)
                container_of(listener, struct weston_touch,
                             focus_resource_listener);
 
-       weston_touch_set_focus(touch->seat, NULL);
+       weston_touch_set_focus(touch, NULL);
 }
 
 static void
@@ -1449,25 +1449,25 @@ notify_keyboard_focus_out(struct weston_seat *seat)
 }
 
 WL_EXPORT void
-weston_touch_set_focus(struct weston_seat *seat, struct weston_view *view)
+weston_touch_set_focus(struct weston_touch *touch, struct weston_view *view)
 {
        struct wl_list *focus_resource_list;
 
-       focus_resource_list = &seat->touch->focus_resource_list;
+       focus_resource_list = &touch->focus_resource_list;
 
-       if (view && seat->touch->focus &&
-           seat->touch->focus->surface == view->surface) {
-               seat->touch->focus = view;
+       if (view && touch->focus &&
+           touch->focus->surface == view->surface) {
+               touch->focus = view;
                return;
        }
 
-       wl_list_remove(&seat->touch->focus_resource_listener.link);
-       wl_list_init(&seat->touch->focus_resource_listener.link);
-       wl_list_remove(&seat->touch->focus_view_listener.link);
-       wl_list_init(&seat->touch->focus_view_listener.link);
+       wl_list_remove(&touch->focus_resource_listener.link);
+       wl_list_init(&touch->focus_resource_listener.link);
+       wl_list_remove(&touch->focus_view_listener.link);
+       wl_list_init(&touch->focus_view_listener.link);
 
        if (!wl_list_empty(focus_resource_list)) {
-               move_resources(&seat->touch->resource_list,
+               move_resources(&touch->resource_list,
                               focus_resource_list);
        }
 
@@ -1475,19 +1475,19 @@ weston_touch_set_focus(struct weston_seat *seat, struct 
weston_view *view)
                struct wl_client *surface_client;
 
                if (!view->surface->resource) {
-                       seat->touch->focus = NULL;
+                       touch->focus = NULL;
                        return;
                }
 
                surface_client = 
wl_resource_get_client(view->surface->resource);
                move_resources_for_client(focus_resource_list,
-                                         &seat->touch->resource_list,
+                                         &touch->resource_list,
                                          surface_client);
                wl_resource_add_destroy_listener(view->surface->resource,
-                                                
&seat->touch->focus_resource_listener);
-               wl_signal_add(&view->destroy_signal, 
&seat->touch->focus_view_listener);
+                                                
&touch->focus_resource_listener);
+               wl_signal_add(&view->destroy_signal, 
&touch->focus_view_listener);
        }
-       seat->touch->focus = view;
+       touch->focus = view;
 }
 
 /**
@@ -1525,7 +1525,7 @@ notify_touch(struct weston_seat *seat, uint32_t time, int 
touch_id,
                 * until all touch points are up again. */
                if (touch->num_tp == 1) {
                        ev = weston_compositor_pick_view(ec, x, y, &sx, &sy);
-                       weston_touch_set_focus(seat, ev);
+                       weston_touch_set_focus(touch, ev);
                } else if (touch->focus) {
                        ev = touch->focus;
                        weston_view_from_global_fixed(ev, x, y, &sx, &sy);
@@ -1574,7 +1574,7 @@ notify_touch(struct weston_seat *seat, uint32_t time, int 
touch_id,
 
                grab->interface->up(grab, time, touch_id);
                if (touch->num_tp == 0)
-                       weston_touch_set_focus(seat, NULL);
+                       weston_touch_set_focus(touch, NULL);
                break;
        }
 }
@@ -2275,7 +2275,7 @@ weston_seat_release_touch(struct weston_seat *seat)
 {
        seat->touch_device_count--;
        if (seat->touch_device_count == 0) {
-               weston_touch_set_focus(seat, NULL);
+               weston_touch_set_focus(seat->touch, NULL);
                weston_touch_cancel_grab(seat->touch);
                weston_touch_reset_state(seat->touch);
                seat_send_updated_caps(seat);
-- 
2.1.4

_______________________________________________
wayland-devel mailing list
[email protected]
http://lists.freedesktop.org/mailman/listinfo/wayland-devel

Reply via email to