summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDaniel Stone <daniel@fooishbar.org>2012-05-30 16:31:55 +0100
committerKristian Høgsberg <krh@bitplanet.net>2012-05-31 15:44:14 -0400
commit162f78af68184eb69e495e7800cad96d150c17dd (patch)
treed4ae5f9d685a141c503d5b49569b6a99ee6ca903
parent4034c7ac218dca341ccb16bcbf772fb91a0be51c (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.c17
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;
}
}