term: app sync updates: disable delayed rendering timers once only

Disable the delayed rendering timers when enabling application
synchronized updates, not every time we've received ptmx data.
This commit is contained in:
Daniel Eklöf 2020-01-12 12:45:34 +01:00
parent bdf127fc7e
commit 95d2ee0cc1
No known key found for this signature in database
GPG key ID: 5BBD4992C116573F

View file

@ -186,15 +186,8 @@ 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.application_synchronized_updates.enabled) {
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);
if (term->render.application_synchronized_updates.enabled)
term->render.refresh_needed = true;
}
else {
/* First timeout - reset each time we receive input. */
@ -1827,6 +1820,14 @@ term_enable_application_synchronized_updates(struct terminal *term)
{
LOG_ERR("failed to arm timer for application synchronized updates");
}
/* Disarm delayed rendering timers */
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);
}
void