diff --git a/libweston/backend-vnc/vnc.c b/libweston/backend-vnc/vnc.c index 6551c6936..c91d429fd 100644 --- a/libweston/backend-vnc/vnc.c +++ b/libweston/backend-vnc/vnc.c @@ -709,28 +709,12 @@ vnc_new_client(struct nvnc_client *client) weston_output_schedule_repaint(&output->base); } - static int finish_frame_handler(void *data) { struct vnc_output *output = data; - int refresh_nsec = millihz_to_nsec(output->base.current_mode->refresh); - struct timespec now, ts; - int delta; - /* The timer only has msec precision, but if we approximately hit our - * target, report an exact time stamp by adding to the previous frame - * time. - */ - timespec_add_nsec(&ts, &output->base.frame_time, refresh_nsec); - - /* If we are more than 1.5 ms late, report the current time instead. */ - weston_compositor_read_presentation_clock(output->base.compositor, &now); - delta = (int)timespec_sub_to_nsec(&now, &ts); - if (delta > 1500000) - ts = now; - - weston_output_finish_frame(&output->base, &ts, 0); + weston_output_finish_frame_from_timer(&output->base); return 1; }