kms: Only pause device after all surfaces are successfully suspended

This commit is contained in:
Victoria Brekenfeld 2024-08-21 14:14:15 +02:00 committed by Victoria Brekenfeld
parent 7c3e18b588
commit 6288789842

View file

@ -420,13 +420,13 @@ impl State {
let backend = self.backend.kms(); let backend = self.backend.kms();
backend.libinput.suspend(); backend.libinput.suspend();
for device in backend.drm_devices.values_mut() { for device in backend.drm_devices.values_mut() {
device.drm.pause();
if let Some(lease_state) = device.inner.leasing_global.as_mut() { if let Some(lease_state) = device.inner.leasing_global.as_mut() {
lease_state.suspend(); lease_state.suspend();
} }
for surface in device.inner.surfaces.values_mut() { for surface in device.inner.surfaces.values_mut() {
surface.suspend(); surface.suspend();
} }
device.drm.pause();
} }
} }
} }