win: remove map_win_by_id

Since it has only one user.

Signed-off-by: Yuxuan Shui <yshuiv7@gmail.com>
This commit is contained in:
Yuxuan Shui
2019-09-19 17:26:09 +01:00
parent 5787c17ebe
commit 1549997811
3 changed files with 20 additions and 24 deletions

View File

@ -271,7 +271,26 @@ static inline void ev_destroy_notify(session_t *ps, xcb_destroy_notify_event_t *
}
static inline void ev_map_notify(session_t *ps, xcb_map_notify_event_t *ev) {
map_win_by_id(ps, ev->window);
// Unmap overlay window if it got mapped but we are currently not
// in redirected state.
if (ps->overlay && ev->window == ps->overlay && !ps->redirected) {
log_debug("Overlay is mapped while we are not redirected");
auto e = xcb_request_check(ps->c, xcb_unmap_window(ps->c, ps->overlay));
if (e) {
log_error("Failed to unmap the overlay window");
free(e);
}
// We don't track the overlay window, so we can return
return;
}
auto w = find_managed_win(ps, ev->window);
if (!w) {
return;
}
map_win(ps, w);
// FocusIn/Out may be ignored when the window is unmapped, so we must
// recheck focus here
ps->pending_updates = true; // to update focus