From dd1775a9927922c14f8679ccbc4d3ca8d5917e20 Mon Sep 17 00:00:00 2001 From: Berke Güzel Date: Tue, 13 Oct 2026 21:23:03 +0300 Subject: public api refactor --- src/platform/wayland/buffer.c | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) (limited to 'src/platform/wayland/buffer.c') diff --git a/src/platform/wayland/buffer.c b/src/platform/wayland/buffer.c index b906f4f..874cc76 100644 --- a/src/platform/wayland/buffer.c +++ b/src/platform/wayland/buffer.c @@ -182,10 +182,13 @@ int apply_pending_geometry(struct wayland_surface *w) w->buffers[i].presented = false; } publish_surface_scale(w); - if (w->cbs->configure && (resized || rescaled)) - w->cbs->configure(&w->base, (struct yasl_geometry){ + if (resized || rescaled) { + yasl_surface_notify_configure(&w->base, (struct yasl_geometry){ .size = { .x = width, .y = height }, .scale_120 = w->scale_120, - }, w->ud); + }); + if (w->closed || w->destroyed) + return -1; + } return 0; } @@ -525,9 +528,11 @@ void surface_draw_frame(struct wayland_surface *w) }; w->frame_active = true; w->frame_presented = false; - w->cbs->draw(&w->base, &w->frame, w->ud); + yasl_surface_draw(&w->base, &w->frame); + if (w->closed || w->destroyed) + return; w->frame_active = false; - if (!w->closed && !w->frame_presented) + if (!w->frame_presented) w->frames_skipped++; } -- cgit v1.2.3