diff options
author | Leonardo Hernández Hernández <leohdz172@protonmail.com> | 2022-12-16 17:24:45 -0600 |
---|---|---|
committer | Leonardo Hernández Hernández <leohdz172@protonmail.com> | 2022-12-16 17:37:18 -0600 |
commit | 7b1fe7e5f2b92f025063cc98ebdb1791945e2f4a (patch) | |
tree | 9e4cabab7654901af3b8c0d2efa306bdad6e73be /dwl.c | |
parent | 803a9ba98d6976c71e92973e3af6096476984fa3 (diff) |
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
Diffstat (limited to 'dwl.c')
-rw-r--r-- | dwl.c | 4 |
1 files changed, 2 insertions, 2 deletions
@@ -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; } |