diff --git a/src/adapters/src/wayland/surfaces/event_context.rs b/src/adapters/src/wayland/surfaces/event_context.rs index a41a4fe..51b9d14 100644 --- a/src/adapters/src/wayland/surfaces/event_context.rs +++ b/src/adapters/src/wayland/surfaces/event_context.rs @@ -72,8 +72,8 @@ impl EventContext { .publish(&WindowStateEvent::PopupConfigurationChanged); } - pub const fn popup_manager(&self) -> &Option> { - &self.popup_manager + pub const fn popup_manager(&self) -> Option<&Rc> { + self.popup_manager.as_ref() } #[must_use] diff --git a/src/adapters/src/wayland/surfaces/rendering_state.rs b/src/adapters/src/wayland/surfaces/rendering_state.rs index 695b0c7..6dc929d 100644 --- a/src/adapters/src/wayland/surfaces/rendering_state.rs +++ b/src/adapters/src/wayland/surfaces/rendering_state.rs @@ -46,7 +46,7 @@ impl RenderingState { self.renderer.layer_surface() } - pub const fn fractional_scale(&self) -> &Option { + pub fn fractional_scale(&self) -> Option<&ManagedWpFractionalScaleV1> { self.renderer.fractional_scale() } } diff --git a/src/adapters/src/wayland/surfaces/surface_state.rs b/src/adapters/src/wayland/surfaces/surface_state.rs index add0d04..0254b63 100644 --- a/src/adapters/src/wayland/surfaces/surface_state.rs +++ b/src/adapters/src/wayland/surfaces/surface_state.rs @@ -261,7 +261,7 @@ impl WindowState { .update_scale_for_fractional_scale_object(fractional_scale_proxy, scale_120ths); } - pub fn popup_manager(&self) -> &Option> { + pub fn popup_manager(&self) -> Option<&Rc> { self.event_context.popup_manager() } } diff --git a/src/adapters/src/wayland/surfaces/window_events.rs b/src/adapters/src/wayland/surfaces/window_events.rs index 9b89baa..07ed6c3 100644 --- a/src/adapters/src/wayland/surfaces/window_events.rs +++ b/src/adapters/src/wayland/surfaces/window_events.rs @@ -3,23 +3,13 @@ use slint::PhysicalSize; #[allow(dead_code)] #[derive(Debug, Clone)] pub enum WindowStateEvent { - ScaleFactorChanged { - new_scale: f32, - source: ScaleSource, - }, + ScaleFactorChanged { new_scale: f32, source: ScaleSource }, - OutputSizeChanged { - output_size: PhysicalSize, - }, + OutputSizeChanged { output_size: PhysicalSize }, - PointerPositionChanged { - physical_x: f64, - physical_y: f64, - }, + PointerPositionChanged { physical_x: f64, physical_y: f64 }, - PointerSerialUpdated { - serial: u32, - }, + PointerSerialUpdated { serial: u32 }, PopupConfigurationChanged, } diff --git a/src/adapters/src/wayland/surfaces/window_renderer.rs b/src/adapters/src/wayland/surfaces/window_renderer.rs index 95b0774..45b6e37 100644 --- a/src/adapters/src/wayland/surfaces/window_renderer.rs +++ b/src/adapters/src/wayland/surfaces/window_renderer.rs @@ -183,7 +183,7 @@ impl WindowRenderer { self.logical_size } - pub const fn fractional_scale(&self) -> &Option { - &self.fractional_scale + pub const fn fractional_scale(&self) -> Option<&ManagedWpFractionalScaleV1> { + self.fractional_scale.as_ref() } } diff --git a/src/composition/src/system.rs b/src/composition/src/system.rs index 87a93e2..97b3426 100644 --- a/src/composition/src/system.rs +++ b/src/composition/src/system.rs @@ -164,13 +164,12 @@ impl RuntimeState<'_> { let popup_manager = self .window_state .popup_manager() - .as_ref() .ok_or_else(|| { Error::Domain(DomainError::Configuration { message: "No popup manager available".to_string(), }) }) - .map(Rc::clone)?; + .cloned()?; let initial_dimensions = match req.size { PopupSize::Fixed { w, h } => { @@ -242,13 +241,12 @@ impl RuntimeState<'_> { let popup_manager = self .window_state .popup_manager() - .as_ref() .ok_or_else(|| { Error::Domain(DomainError::Configuration { message: "No popup manager available".to_string(), }) }) - .map(Rc::clone)?; + .cloned()?; let Some((request, _serial)) = popup_manager.get_popup_info(key) else { log::debug!(