aboutsummaryrefslogtreecommitdiff
path: root/src/backend/tty.rs
diff options
context:
space:
mode:
authorIvan Molodetskikh <yalterz@gmail.com>2024-03-23 12:46:26 +0400
committerIvan Molodetskikh <yalterz@gmail.com>2024-03-23 15:45:44 +0400
commit021a2a1af771421e39a990bb1eac624e0ef274de (patch)
treecfd607d93c740d960325f0a6df9a0afa33f04ca2 /src/backend/tty.rs
parent354f0b039a768c77e9c703cbcbca693f0b8c6f96 (diff)
downloadniri-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.rs16
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;
}