output: Store position as u32 and offset bad configs

This commit is contained in:
Victoria Brekenfeld 2024-06-26 13:05:25 +02:00 committed by Victoria Brekenfeld
parent 9cd553e128
commit 26ccb653b7
5 changed files with 66 additions and 18 deletions

View file

@ -57,7 +57,7 @@ use smithay::{
Client, DisplayHandle, Resource,
},
},
utils::{Clock, IsAlive, Monotonic},
utils::{Clock, IsAlive, Monotonic, Point},
wayland::{
alpha_modifier::AlphaModifierState,
compositor::{CompositorClientState, CompositorState, SurfaceData},
@ -306,8 +306,11 @@ impl BackendData {
Some(final_config.transform.into()).filter(|x| *x != output.current_transform());
let scale = Some(final_config.scale)
.filter(|x| *x != output.current_scale().fractional_scale());
let location =
Some(final_config.position.into()).filter(|x| *x != output.current_location());
let location = Some(Point::from((
final_config.position.0 as i32,
final_config.position.1 as i32,
)))
.filter(|x| *x != output.current_location());
output.change_current_state(mode, transform, scale.map(Scale::Fractional), location);
output.set_adaptive_sync(final_config.vrr);