diff --git a/src/event.c b/src/event.c index f636703..cb60303 100644 --- a/src/event.c +++ b/src/event.c @@ -302,8 +302,8 @@ static inline void ev_unmap_notify(session_t *ps, xcb_unmap_notify_event_t *ev) } static inline void ev_reparent_notify(session_t *ps, xcb_reparent_notify_event_t *ev) { - log_debug("{ new_parent: %#010x, override_redirect: %d }", ev->parent, - ev->override_redirect); + log_debug("Window %#010x has new parent: %#010x, override_redirect: %d", + ev->window, ev->parent, ev->override_redirect); if (ev->parent == ps->root) { // X will generate reparent notifiy even if the parent didn't actually @@ -336,7 +336,7 @@ static inline void ev_reparent_notify(session_t *ps, xcb_reparent_notify_event_t // Firstly, check if it's a known client window if (!find_toplevel(ps, ev->window)) { // If not, look for its frame window - auto w_top = find_toplevel2(ps, ev->parent); + auto w_top = find_toplevel_nocache(ps, ev->parent); // If found, and the client window has not been determined, or its // frame may not have a correct client, continue if (w_top && @@ -446,7 +446,7 @@ static inline void ev_property_notify(session_t *ps, xcb_property_notify_event_t (const uint32_t[]){determine_evmask( ps, ev->window, WIN_EVMODE_UNKNOWN)}); - auto w_top = find_toplevel2(ps, ev->window); + auto w_top = find_toplevel_nocache(ps, ev->window); // Initialize client_win as early as possible if (w_top && (!w_top->client_win || w_top->client_win == w_top->base.id) && diff --git a/src/picom.c b/src/picom.c index fd84081..ceef454 100644 --- a/src/picom.c +++ b/src/picom.c @@ -180,7 +180,7 @@ static inline struct managed_win *find_win_all(session_t *ps, const xcb_window_t if (!w) w = find_toplevel(ps, wid); if (!w) - w = find_toplevel2(ps, wid); + w = find_toplevel_nocache(ps, wid); return w; } diff --git a/src/win.c b/src/win.c index 0690a16..43bfa91 100644 --- a/src/win.c +++ b/src/win.c @@ -2195,7 +2195,7 @@ struct managed_win *find_toplevel(session_t *ps, xcb_window_t id) { * @param wid window ID * @return struct _win object of the found window, NULL if not found */ -struct managed_win *find_toplevel2(session_t *ps, xcb_window_t wid) { +struct managed_win *find_toplevel_nocache(session_t *ps, xcb_window_t wid) { // TODO this should probably be an "update tree", then find_toplevel. // current approach is a bit more "racy" struct win *w = NULL; diff --git a/src/win.h b/src/win.h index 68037b1..bde9a12 100644 --- a/src/win.h +++ b/src/win.h @@ -408,7 +408,7 @@ struct managed_win *find_toplevel(session_t *ps, xcb_window_t id); * @param wid window ID * @return struct _win object of the found window, NULL if not found */ -struct managed_win *find_toplevel2(session_t *ps, xcb_window_t wid); +struct managed_win *find_toplevel_nocache(session_t *ps, xcb_window_t wid); /** * Check if a window is a fullscreen window.