diff options
| author | Ivan Molodetskikh <yalterz@gmail.com> | 2024-03-23 12:46:26 +0400 |
|---|---|---|
| committer | Ivan Molodetskikh <yalterz@gmail.com> | 2024-03-23 15:45:44 +0400 |
| commit | 021a2a1af771421e39a990bb1eac624e0ef274de (patch) | |
| tree | cfd607d93c740d960325f0a6df9a0afa33f04ca2 /src/backend/tty.rs | |
| parent | 354f0b039a768c77e9c703cbcbca693f0b8c6f96 (diff) | |
| download | niri-021a2a1af771421e39a990bb1eac624e0ef274de.tar.gz niri-021a2a1af771421e39a990bb1eac624e0ef274de.tar.bz2 niri-021a2a1af771421e39a990bb1eac624e0ef274de.zip | |
Don't use an idle for queued redraw tracking
This way we can order the redraw after all the refreshing, where it
should be.
Diffstat (limited to 'src/backend/tty.rs')
| -rw-r--r-- | src/backend/tty.rs | 16 |
1 files changed, 8 insertions, 8 deletions
diff --git a/src/backend/tty.rs b/src/backend/tty.rs index 82320ab4..fdf25df8 100644 --- a/src/backend/tty.rs +++ b/src/backend/tty.rs @@ -1055,7 +1055,7 @@ impl Tty { let redraw_needed = match mem::replace(&mut output_state.redraw_state, RedrawState::Idle) { RedrawState::Idle => unreachable!(), - RedrawState::Queued(_) => unreachable!(), + RedrawState::Queued => unreachable!(), RedrawState::WaitingForVBlank { redraw_needed } => redraw_needed, RedrawState::WaitingForEstimatedVBlank(_) => unreachable!(), RedrawState::WaitingForEstimatedVBlankAndQueued(_) => unreachable!(), @@ -1089,12 +1089,12 @@ impl Tty { match mem::replace(&mut output_state.redraw_state, RedrawState::Idle) { RedrawState::Idle => unreachable!(), - RedrawState::Queued(_) => unreachable!(), + RedrawState::Queued => unreachable!(), RedrawState::WaitingForVBlank { .. } => unreachable!(), RedrawState::WaitingForEstimatedVBlank(_) => (), // The timer fired just in front of a redraw. - RedrawState::WaitingForEstimatedVBlankAndQueued((_, idle)) => { - output_state.redraw_state = RedrawState::Queued(idle); + RedrawState::WaitingForEstimatedVBlankAndQueued(_) => { + output_state.redraw_state = RedrawState::Queued; return; } } @@ -1198,10 +1198,10 @@ impl Tty { }; match mem::replace(&mut output_state.redraw_state, new_state) { RedrawState::Idle => unreachable!(), - RedrawState::Queued(_) => (), + RedrawState::Queued => (), RedrawState::WaitingForVBlank { .. } => unreachable!(), RedrawState::WaitingForEstimatedVBlank(_) => unreachable!(), - RedrawState::WaitingForEstimatedVBlankAndQueued((token, _)) => { + RedrawState::WaitingForEstimatedVBlankAndQueued(token) => { niri.event_loop.remove(token); } }; @@ -1909,10 +1909,10 @@ fn queue_estimated_vblank_timer( let output_state = niri.output_state.get_mut(&output).unwrap(); match mem::take(&mut output_state.redraw_state) { RedrawState::Idle => unreachable!(), - RedrawState::Queued(_) => (), + RedrawState::Queued => (), RedrawState::WaitingForVBlank { .. } => unreachable!(), RedrawState::WaitingForEstimatedVBlank(token) - | RedrawState::WaitingForEstimatedVBlankAndQueued((token, _)) => { + | RedrawState::WaitingForEstimatedVBlankAndQueued(token) => { output_state.redraw_state = RedrawState::WaitingForEstimatedVBlank(token); return; } |
