From 63929ca999e9938e102908d7ded8377f27c9b913 Mon Sep 17 00:00:00 2001 From: sewn Date: Wed, 5 Feb 2025 13:49:31 +0300 Subject: [PATCH] unhide bar properly; fixes #24 --- dam.c | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/dam.c b/dam.c index a945d59..871af99 100644 --- a/dam.c +++ b/dam.c @@ -294,7 +294,7 @@ static const struct wl_callback_listener frame_callback_listener = { static void bar_frame(Bar *bar) { - if (bar->frame_callback) + if (bar->frame_callback || !bar->configured) return; bar->frame_callback = wl_surface_frame(bar->surface); wl_callback_add_listener(bar->frame_callback, &frame_callback_listener, bar); @@ -408,14 +408,15 @@ bar_destroy(Bar *bar) static void layer_surface_configure(void *data, struct zwlr_layer_surface_v1 *surface, - uint32_t serial, uint32_t width, uint32_t height) + uint32_t serial, uint32_t w, uint32_t h) { Bar *bar = data; - if (bar->width / bar->scale == width && bar->height / bar->scale == height) + if (bar->configured + && (bar->width / bar->scale == w && bar->height / bar->scale == h)) return; - bar->width = width * bar->scale; - bar->height = height * bar->scale; + bar->width = w * bar->scale; + bar->height = h * bar->scale; bar->configured = true; zwlr_layer_surface_v1_ack_configure(bar->layer_surface, serial); bar_draw(bar);