Wayland compositor (wlroots)
git clone https://git.lucas.co/cce-compositor.git
Fix window flicker loop by dirtying rendering instead of windowing in layer shell events
src/server/layer_shell.rs | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/server/layer_shell.rs b/src/server/layer_shell.rs
index ef38c6a..d11d886 100644
--- a/src/server/layer_shell.rs
+++ b/src/server/layer_shell.rs
@@ -488,7 +488,7 @@ unsafe extern "C" fn handle_layer_surface_map(listener: *mut ffi::wl_listener, _
}
}
(*server).layer_shell.check_exclusive_focus();
- (*server).wm.dirty_windowing();
+ (*server).wm.dirty_rendering();
}
unsafe extern "C" fn handle_layer_surface_unmap(listener: *mut ffi::wl_listener, _data: *mut std::ffi::c_void) {
@@ -531,7 +531,7 @@ unsafe extern "C" fn handle_layer_surface_unmap(listener: *mut ffi::wl_listener,
}
}
(*server).layer_shell.check_exclusive_focus();
- (*server).wm.dirty_windowing();
+ (*server).wm.dirty_rendering();
}
unsafe extern "C" fn handle_layer_surface_commit(listener: *mut ffi::wl_listener, _data: *mut std::ffi::c_void) {
@@ -575,7 +575,7 @@ unsafe extern "C" fn handle_layer_surface_commit(listener: *mut ffi::wl_listener
if (*wlr_layer_surface).initial_commit || ((*wlr_layer_surface).current.committed != 0) {
(*output).layer_shell.arrange(output);
(*server).layer_shell.check_exclusive_focus();
- (*server).wm.dirty_windowing();
+ (*server).wm.dirty_rendering();
}
}