Rather than using a single hardcoded seat to activate new windows within
a compositor, reset the focus for all seats.

Signed-off-by: Daniel Stone <[email protected]>
---
 src/shell.c |    8 +++++---
 1 file changed, 5 insertions(+), 3 deletions(-)

diff --git a/src/shell.c b/src/shell.c
index 887ce45..96fef1c 100644
--- a/src/shell.c
+++ b/src/shell.c
@@ -2053,6 +2053,7 @@ map(struct desktop_shell *shell, struct weston_surface 
*surface,
        struct shell_surface *shsurf;
        enum shell_surface_type surface_type = SHELL_SURFACE_NONE;
        struct weston_surface *parent;
+       struct weston_seat *seat;
        int panel_height = 0;
 
        shsurf = get_shell_surface(surface);
@@ -2151,9 +2152,10 @@ map(struct desktop_shell *shell, struct weston_surface 
*surface,
        case SHELL_SURFACE_TOPLEVEL:
        case SHELL_SURFACE_FULLSCREEN:
        case SHELL_SURFACE_MAXIMIZED:
-               if (!shell->locked)
-                       activate(shell, surface,
-                                (struct weston_seat *) compositor->seat);
+               if (!shell->locked) {
+                       wl_list_for_each(seat, &compositor->seat_list, link)
+                               activate(shell, surface, seat);
+               }
                break;
        default:
                break;
-- 
1.7.10

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

Reply via email to