fix checking idle inhibit state checking `bypass_surface_visibility` first, could cause that even if the idle inhibitor is being destroyed it will disable idle tracking and if we couldn't get its scene tree, then assume that the surface is visible
1 files changed, 2 insertions(+), 2 deletions(-) M dwl.c
M dwl.c => dwl.c +2 -2
@@ 627,8 627,8 @@ checkidleinhibitor(struct wlr_surface *exclude) wl_list_for_each(inhibitor, &idle_inhibit_mgr->inhibitors, link) { struct wlr_surface *surface = wlr_surface_get_root_surface(inhibitor->surface); struct wlr_scene_tree *tree = surface->data; if (bypass_surface_visibility || (exclude != surface && tree && tree->node.enabled)) { if (exclude != surface && (bypass_surface_visibility || (!tree || tree->node.enabled))) { inhibited = 1; break; }