From cd8e3d978600f9da9ff4d276d6fa4d0190adde24 Mon Sep 17 00:00:00 2001 From: David Delarosa Date: Tue, 2 Jun 2026 12:27:23 +0300 Subject: [PATCH] Fix a crash on closing client --- src/animation/client.h | 3 +-- src/mango.c | 4 ++-- 2 files changed, 3 insertions(+), 4 deletions(-) diff --git a/src/animation/client.h b/src/animation/client.h index 2483119d..5c56e5ee 100644 --- a/src/animation/client.h +++ b/src/animation/client.h @@ -539,7 +539,7 @@ void apply_titlebar(Client *c, int32_t rect_width, } void update_titlebar_hover(Client *c) { - if (!c || !c->titlebar_close || !c->titlebar_bg) + if (!c || c->iskilling || !c->titlebar_close || !c->titlebar_bg) return; int32_t tb = titlebar_active_height(); if (tb <= 0 || c->isfullscreen) { @@ -569,7 +569,6 @@ void update_titlebar_hover(Client *c) { wlr_scene_rect_set_color(c->titlebar_close, config.title_close_color); } } -} void apply_border(Client *c) { if (!c || c->iskilling || !client_surface(c)->mapped) diff --git a/src/mango.c b/src/mango.c index 48c4d74a..415256c2 100644 --- a/src/mango.c +++ b/src/mango.c @@ -2427,7 +2427,7 @@ bool handle_buttonpress(struct wlr_pointer_button_event *event) { cursor->y >= close_y && cursor->y < close_y + tb_height - 2 * tb_margin) { pending_kill_client(c); - return; + return true; } grabc = c; if (grabc->isfloating == 0) { @@ -2440,7 +2440,7 @@ bool handle_buttonpress(struct wlr_pointer_button_event *event) { set_size_per(grabc->mon, grabc); } start_drag_window = true; - return; + return true; } }