Skip to content
Snippets Groups Projects
Unverified Commit ba8a0d04 authored by Philipp Kerling's avatar Philipp Kerling Committed by Quentin Glidic
Browse files

desktop-shell: Track focused shell surface by main surface


The focused surface is used for determining whether shell surfaces
are activated. They should also be considered activated when a
subsurface has focus. Inserting a call to
weston_surface_get_main_surface fixes this.

seat->focused_surface is only used for shell_surface keyboard focus
tracking.

Signed-off-by: default avatarPhilipp Kerling <pkerling@casix.org>
Reviewed-by: default avatarQuentin Glidic <sardemff7+git@sardemff7.net>
parent 4c4b9cfb
No related branches found
No related tags found
No related merge requests found
...@@ -1852,7 +1852,7 @@ handle_keyboard_focus(struct wl_listener *listener, void *data) ...@@ -1852,7 +1852,7 @@ handle_keyboard_focus(struct wl_listener *listener, void *data)
shell_surface_lose_keyboard_focus(shsurf); shell_surface_lose_keyboard_focus(shsurf);
} }
seat->focused_surface = keyboard->focus; seat->focused_surface = weston_surface_get_main_surface(keyboard->focus);
if (seat->focused_surface) { if (seat->focused_surface) {
struct shell_surface *shsurf = get_shell_surface(seat->focused_surface); struct shell_surface *shsurf = get_shell_surface(seat->focused_surface);
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment