From 64f921eff7bcb6e0f7eb3bb292e11b777a06b846 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Petar=20Kapri=C5=A1?= Date: Mon, 13 Oct 2025 22:06:43 +0200 Subject: [PATCH] Fix blit_plane This edit will make sure blit_plane only acts if all workers have completed their drawing, since it's not much use otherwise. --- visor.c | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/visor.c b/visor.c index ff036c7..d8dace6 100644 --- a/visor.c +++ b/visor.c @@ -342,8 +342,17 @@ void blit_plane(GtkDrawingArea *da, cairo_t *cr, int width, int height, gpointer (void) width; (void) height; (void) data; - cairo_set_source_surface(cr, surface, 0, 0); - cairo_paint(cr); + bool allWritersHadCompleted = true; + for (int32_t i = 0; i < thread_count; i++) { + if (!threads[i].complete) { + allWritersHadCompleted = false; + break; + } + } + if (allWritersHadCompleted) { + cairo_set_source_surface(cr, surface, 0, 0); + cairo_paint(cr); + } } void plane_resize(GtkWidget *widget)