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>
dev
Daniel Stone 13 years ago committed by Kristian Høgsberg
parent 4034c7ac21
commit 162f78af68
  1. 13
      src/tablet-shell.c

@ -240,8 +240,9 @@ minimize_zoom_done(struct weston_zoom *zoom, void *data)
{ {
struct tablet_shell *shell = data; struct tablet_shell *shell = data;
struct weston_compositor *compositor = shell->compositor; struct weston_compositor *compositor = shell->compositor;
struct weston_seat *seat = (struct weston_seat *) compositor->seat; struct weston_seat *seat;
wl_list_for_each(seat, &compositor->seat_list, link)
weston_surface_activate(shell->home_surface, seat); weston_surface_activate(shell->home_surface, seat);
} }
@ -250,7 +251,7 @@ tablet_shell_switch_to(struct tablet_shell *shell,
struct weston_surface *surface) struct weston_surface *surface)
{ {
struct weston_compositor *compositor = shell->compositor; struct weston_compositor *compositor = shell->compositor;
struct weston_seat *seat = (struct weston_seat *) compositor->seat; struct weston_seat *seat;
struct weston_surface *current; struct weston_surface *current;
if (shell->state == STATE_SWITCHER) { if (shell->state == STATE_SWITCHER) {
@ -268,6 +269,7 @@ tablet_shell_switch_to(struct tablet_shell *shell,
} }
} else { } else {
fprintf(stderr, "switch to %p\n", surface); fprintf(stderr, "switch to %p\n", surface);
wl_list_for_each(seat, &compositor->seat_list, link)
weston_surface_activate(surface, seat); weston_surface_activate(surface, seat);
tablet_shell_set_state(shell, STATE_TASK); tablet_shell_set_state(shell, STATE_TASK);
weston_zoom_run(surface, 0.3, 1.0, NULL, NULL); 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 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) if (shell->state == STATE_SWITCHER)
tablet_shell_send_hide_switcher(&shell->resource); tablet_shell_send_hide_switcher(&shell->resource);
@ -482,7 +481,7 @@ home_key_binding(struct wl_seat *seat, uint32_t time,
toggle_switcher(shell); toggle_switcher(shell);
break; break;
default: default:
go_home(shell); go_home(shell, (struct weston_seat *) seat);
break; break;
} }
} }

Loading…
Cancel
Save