diff --git a/src/screencast/wlr_screencast.c b/src/screencast/wlr_screencast.c index 98e591e1..f7e973c3 100644 --- a/src/screencast/wlr_screencast.c +++ b/src/screencast/wlr_screencast.c @@ -35,11 +35,6 @@ static void wlr_frame_buffer_destroy(struct xdpw_screencast_instance *cast) { } } -static void register_callback(void *data) { - struct xdpw_screencast_instance *cast = data; - xdpw_wlr_register_cb(cast); -} - void xdpw_wlr_frame_free(struct xdpw_screencast_instance *cast) { zwlr_screencopy_frame_v1_destroy(cast->wlr_frame); cast->wlr_frame = NULL; @@ -59,7 +54,7 @@ void xdpw_wlr_frame_free(struct xdpw_screencast_instance *cast) { uint64_t delay_ns = fps_limit_measure_end(&cast->fps_limit, cast->ctx->max_fps); if (delay_ns > 0) { - xdpw_add_timer(cast->ctx->state, delay_ns, register_callback, cast); + xdpw_add_timer(cast->ctx->state, delay_ns, (xdpw_event_loop_timer_func_t) xdpw_wlr_register_cb, cast); } else { xdpw_wlr_register_cb(cast); }