diff options
| -rw-r--r-- | src/niri.rs | 17 |
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; }; |
