diff --git a/sctk/src/event_loop/state.rs b/sctk/src/event_loop/state.rs index bcc6c2f94b..fa151f1f2c 100644 --- a/sctk/src/event_loop/state.rs +++ b/sctk/src/event_loop/state.rs @@ -45,6 +45,7 @@ use sctk::{ protocol::{ wl_keyboard::WlKeyboard, wl_output::WlOutput, + wl_region::WlRegion, wl_seat::WlSeat, wl_subsurface::WlSubsurface, wl_surface::{self, WlSurface}, @@ -786,7 +787,12 @@ where .set_size(size.0.unwrap_or_default(), size.1.unwrap_or_default()); layer_surface.set_exclusive_zone(exclusive_zone); if !pointer_interactivity { - layer_surface.set_input_region(None); + let region = self + .compositor_state + .wl_compositor() + .create_region(&self.queue_handle, ()); + layer_surface.set_input_region(Some(®ion)); + region.destroy(); } layer_surface.commit(); @@ -846,3 +852,4 @@ where } delegate_noop!(@ SctkState: ignore WlSubsurface); +delegate_noop!(@ SctkState: ignore WlRegion);