aboutsummaryrefslogtreecommitdiff
path: root/src/niri.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/niri.rs')
-rw-r--r--src/niri.rs17
1 files changed, 14 insertions, 3 deletions
diff --git a/src/niri.rs b/src/niri.rs
index 5d121b07..4adc9e31 100644
--- a/src/niri.rs
+++ b/src/niri.rs
@@ -1099,18 +1099,29 @@ impl Niri {
RedrawState::Queued(_) | RedrawState::WaitingForEstimatedVBlankAndQueued(_)
));
+ let mut reset = || {
+ state.redraw_state =
+ if let RedrawState::WaitingForEstimatedVBlankAndQueued((token, _)) =
+ state.redraw_state
+ {
+ RedrawState::WaitingForEstimatedVBlank(token)
+ } else {
+ RedrawState::Idle
+ }
+ };
+
if !self.monitors_active {
- state.redraw_state = RedrawState::Idle;
+ reset();
return;
}
if !backend.is_active() {
- state.redraw_state = RedrawState::Idle;
+ reset();
return;
}
let Some(renderer) = backend.renderer() else {
- state.redraw_state = RedrawState::Idle;
+ reset();
return;
};