diff options
author | Drew DeVault <sir@cmpwn.com> | 2018-07-03 06:21:00 -0700 |
---|---|---|
committer | GitHub <noreply@github.com> | 2018-07-03 06:21:00 -0700 |
commit | 12dd9544f9756f7f172259d7ad75a60e2eb86a41 (patch) | |
tree | 750ff44492c924f34edfa2af2e1b5ccca46a3bbe | |
parent | 742c66d93f373d1417babe1083991f7f519dce7d (diff) | |
parent | 26b2012b5e7a794ad436b6fdee04691b7818c85d (diff) |
Merge pull request #1110 from apreiml/fix-focus-stack-change
fix: add stack update on focus change
-rw-r--r-- | CONTRIBUTING.md | 2 | ||||
-rw-r--r-- | xwayland/xwm.c | 11 |
2 files changed, 6 insertions, 7 deletions
diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 9dd7f504..c6110522 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -236,7 +236,7 @@ error_session: ## Wayland protocol implementation Each protocol generally lives in a file with the same name, usually containing -at leats one struct for each interface in the protocol. For instance, +at least one struct for each interface in the protocol. For instance, `xdg_shell` lives in `types/wlr_xdg_shell.h` and has a `wlr_xdg_surface` struct. ### Globals diff --git a/xwayland/xwm.c b/xwayland/xwm.c index 54550d0c..62d6a861 100644 --- a/xwayland/xwm.c +++ b/xwayland/xwm.c @@ -228,13 +228,12 @@ static void xwm_send_focus_window(struct wlr_xwm *xwm, // if the surface doesn't allow the focus request, we will send him // only the take focus event. It will get the focus by itself. xwm_send_wm_message(xsurface, &message_data, XCB_EVENT_MASK_NO_EVENT); - return; - } - - xwm_send_wm_message(xsurface, &message_data, XCB_EVENT_MASK_SUBSTRUCTURE_REDIRECT); + } else { + xwm_send_wm_message(xsurface, &message_data, XCB_EVENT_MASK_SUBSTRUCTURE_REDIRECT); - xcb_set_input_focus(xwm->xcb_conn, XCB_INPUT_FOCUS_POINTER_ROOT, - xsurface->window_id, XCB_CURRENT_TIME); + xcb_set_input_focus(xwm->xcb_conn, XCB_INPUT_FOCUS_POINTER_ROOT, + xsurface->window_id, XCB_CURRENT_TIME); + } uint32_t values[1]; values[0] = XCB_STACK_MODE_ABOVE; |