mirror of
https://codeberg.org/dnkl/foot.git
synced 2026-05-06 06:47:17 -04:00
term: ptmx: cancel, and don't re-arm, delay timers when refresh has been disabled
This commit is contained in:
parent
7b27fa857f
commit
84f836c0c8
1 changed files with 39 additions and 27 deletions
12
terminal.c
12
terminal.c
|
|
@ -186,6 +186,17 @@ fdm_ptmx(struct fdm *fdm, int fd, int events, void *data)
|
|||
* has any effect when the renderer is idle.
|
||||
*/
|
||||
if (term->window->frame_callback == NULL) {
|
||||
if (term->render.refresh_prohibited) {
|
||||
timerfd_settime(
|
||||
term->delayed_render_timer.lower_fd, 0,
|
||||
&(struct itimerspec){{0}}, NULL);
|
||||
timerfd_settime(
|
||||
term->delayed_render_timer.upper_fd, 0,
|
||||
&(struct itimerspec){{0}}, NULL);
|
||||
term->render.refresh_needed = true;
|
||||
}
|
||||
|
||||
else {
|
||||
/* First timeout - reset each time we receive input. */
|
||||
|
||||
#if PTMX_TIMING
|
||||
|
|
@ -217,6 +228,7 @@ fdm_ptmx(struct fdm *fdm, int fd, int events, void *data)
|
|||
NULL);
|
||||
term->delayed_render_timer.is_armed = true;
|
||||
}
|
||||
}
|
||||
} else
|
||||
term->render.pending = true;
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue