From 642c6e7512f25f1fdc47dfa6a6eaec38c5faa69b Mon Sep 17 00:00:00 2001 From: Ivan Molodetskikh Date: Fri, 15 Mar 2024 11:10:54 +0400 Subject: Store gamma changes to apply on session resume --- src/protocols/gamma_control.rs | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) (limited to 'src/protocols') diff --git a/src/protocols/gamma_control.rs b/src/protocols/gamma_control.rs index 07e5a848..083710ed 100644 --- a/src/protocols/gamma_control.rs +++ b/src/protocols/gamma_control.rs @@ -28,7 +28,7 @@ pub struct GammaControlManagerGlobalData { pub trait GammaControlHandler { fn gamma_control_manager_state(&mut self) -> &mut GammaControlManagerState; fn get_gamma_size(&mut self, output: &Output) -> Option; - fn set_gamma(&mut self, output: &Output, ramp: Option<&[u16]>) -> Option<()>; + fn set_gamma(&mut self, output: &Output, ramp: Option>) -> Option<()>; } pub struct GammaControlState { @@ -162,8 +162,8 @@ where trace!("setting gamma for output {}", output.name()); // Start with a u16 slice so it's aligned correctly. - let mut buf = vec![0u16; data.gamma_size as usize * 3]; - let buf = bytemuck::cast_slice_mut(&mut buf); + let mut gamma = vec![0u16; data.gamma_size as usize * 3]; + let buf = bytemuck::cast_slice_mut(&mut gamma); let mut file = File::from(fd); { let _span = tracy_client::span!("read gamma from fd"); @@ -195,7 +195,6 @@ where } } } - let gamma = bytemuck::cast_slice(buf); if state.set_gamma(&output, Some(gamma)).is_none() { resource.failed(); -- cgit