diff options
author | Ilia Bozhinov <ammen99@gmail.com> | 2018-07-29 20:02:00 +0300 |
---|---|---|
committer | Ilia Bozhinov <ammen99@gmail.com> | 2018-07-29 21:58:33 +0300 |
commit | 2e6eb097b6e23b8923bbfc68b1843d5ccde1955b (patch) | |
tree | c233864ae1c86a68df205d6a8ead79613f54796f /rootston/xdg_shell_v6.c | |
parent | f1b65b34a6caff8db7c729b6362ec57f2707aa1a (diff) |
rootston: focus newly-created surfaces
Whenever a new surface is created, we have to update the cursor focus,
even if there's no input event. So, we generate one motion event, and
reuse the code to update the proper cursor focus. We need to do this
for all surface roles - toplevels, popups, subsurfaces.
Fixes #1162
Diffstat (limited to 'rootston/xdg_shell_v6.c')
-rw-r--r-- | rootston/xdg_shell_v6.c | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/rootston/xdg_shell_v6.c b/rootston/xdg_shell_v6.c index 219be2b0..1201ba68 100644 --- a/rootston/xdg_shell_v6.c +++ b/rootston/xdg_shell_v6.c @@ -34,6 +34,7 @@ static void popup_handle_map(struct wl_listener *listener, void *data) { struct roots_xdg_popup_v6 *popup = wl_container_of(listener, popup, map); view_damage_whole(popup->view_child.view); + input_update_cursor_focus(popup->view_child.view->desktop->server->input); } static void popup_handle_unmap(struct wl_listener *listener, void *data) { |