aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/handlers/compositor.rs26
1 files changed, 14 insertions, 12 deletions
diff --git a/src/handlers/compositor.rs b/src/handlers/compositor.rs
index 37903a20..0bdd7690 100644
--- a/src/handlers/compositor.rs
+++ b/src/handlers/compositor.rs
@@ -59,19 +59,21 @@ impl CompositorHandler for State {
});
if let Some(dmabuf) = maybe_dmabuf {
if let Ok((blocker, source)) = dmabuf.generate_blocker(Interest::READ) {
- let client = surface.client().unwrap();
- let res = state
- .niri
- .event_loop
- .insert_source(source, move |_, _, state| {
- let display_handle = state.niri.display_handle.clone();
+ if let Some(client) = surface.client() {
+ let res =
state
- .client_compositor_state(&client)
- .blocker_cleared(state, &display_handle);
- Ok(())
- });
- if res.is_ok() {
- add_blocker(surface, blocker);
+ .niri
+ .event_loop
+ .insert_source(source, move |_, _, state| {
+ let display_handle = state.niri.display_handle.clone();
+ state
+ .client_compositor_state(&client)
+ .blocker_cleared(state, &display_handle);
+ Ok(())
+ });
+ if res.is_ok() {
+ add_blocker(surface, blocker);
+ }
}
}
}