diff options
author | Daniel Stone <daniel@fooishbar.org> | 2012-05-30 16:31:55 +0100 |
---|---|---|
committer | Kristian Høgsberg <krh@bitplanet.net> | 2012-05-31 15:44:14 -0400 |
commit | 162f78af68184eb69e495e7800cad96d150c17dd (patch) | |
tree | d4ae5f9d685a141c503d5b49569b6a99ee6ca903 | |
parent | 4034c7ac218dca341ccb16bcbf772fb91a0be51c (diff) |
tablet-shell: Use seat_list rather than primary seat
Activate surfaces for all seats when showing the grid, not just the
primary seat.
Signed-off-by: Daniel Stone <daniel@fooishbar.org>
-rw-r--r-- | src/tablet-shell.c | 17 |
1 files changed, 8 insertions, 9 deletions
diff --git a/src/tablet-shell.c b/src/tablet-shell.c index fa45b25..90642ba 100644 --- a/src/tablet-shell.c +++ b/src/tablet-shell.c @@ -240,9 +240,10 @@ minimize_zoom_done(struct weston_zoom *zoom, void *data) { struct tablet_shell *shell = data; struct weston_compositor *compositor = shell->compositor; - struct weston_seat *seat = (struct weston_seat *) compositor->seat; + struct weston_seat *seat; - weston_surface_activate(shell->home_surface, seat); + wl_list_for_each(seat, &compositor->seat_list, link) + weston_surface_activate(shell->home_surface, seat); } static void @@ -250,7 +251,7 @@ tablet_shell_switch_to(struct tablet_shell *shell, struct weston_surface *surface) { struct weston_compositor *compositor = shell->compositor; - struct weston_seat *seat = (struct weston_seat *) compositor->seat; + struct weston_seat *seat; struct weston_surface *current; if (shell->state == STATE_SWITCHER) { @@ -268,7 +269,8 @@ tablet_shell_switch_to(struct tablet_shell *shell, } } else { fprintf(stderr, "switch to %p\n", surface); - weston_surface_activate(surface, seat); + wl_list_for_each(seat, &compositor->seat_list, link) + weston_surface_activate(surface, seat); tablet_shell_set_state(shell, STATE_TASK); weston_zoom_run(surface, 0.3, 1.0, NULL, NULL); } @@ -423,11 +425,8 @@ tablet_shell_unlock(struct wl_listener *listener, void *data) } static void -go_home(struct tablet_shell *shell) +go_home(struct tablet_shell *shell, struct weston_seat *seat) { - struct weston_seat *seat = - (struct weston_seat *) shell->compositor->seat; - if (shell->state == STATE_SWITCHER) tablet_shell_send_hide_switcher(&shell->resource); @@ -482,7 +481,7 @@ home_key_binding(struct wl_seat *seat, uint32_t time, toggle_switcher(shell); break; default: - go_home(shell); + go_home(shell, (struct weston_seat *) seat); break; } } |