From 3c5cfd3eadbc66e149982db4cf32397870491422 Mon Sep 17 00:00:00 2001 From: Zedhugh Chen Date: Sat, 25 Jul 2026 01:07:49 +0800 Subject: [PATCH] =?UTF-8?q?feat(tray):=20=E5=AE=9E=E7=8E=B0=20tray=5Fclean?= =?UTF-8?q?up=20=E5=B9=B6=E5=9C=A8=20backend=5Fdestroy=20=E4=B8=AD?= =?UTF-8?q?=E8=B0=83=E7=94=A8=E4=BB=A5=E9=87=8A=E6=94=BE=E6=89=98=E7=9B=98?= =?UTF-8?q?=E8=B5=84=E6=BA=90?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/backend/x11/backend.c | 2 ++ src/backend/x11/tray.c | 9 +++++++++ src/backend/x11/tray.h | 1 + 3 files changed, 12 insertions(+) diff --git a/src/backend/x11/backend.c b/src/backend/x11/backend.c index a56c3e5..eec744d 100644 --- a/src/backend/x11/backend.c +++ b/src/backend/x11/backend.c @@ -195,6 +195,8 @@ backend_t *backend_create(const char *display_name) { void backend_destroy(backend_t *backend) { if (!backend) return; + tray_cleanup(backend); + p_delete(&backend->config_list.cfgs); p_clear(&backend->config_list, 1); diff --git a/src/backend/x11/tray.c b/src/backend/x11/tray.c index 7d38572..ed89b29 100644 --- a/src/backend/x11/tray.c +++ b/src/backend/x11/tray.c @@ -243,3 +243,12 @@ void tray_init( tray_broadcast_manager(tray, backend); xcb_flush(backend->conn); } + +void tray_cleanup(backend_t *backend) { + auto conn = backend->conn; + auto tray = backend->tray; + + xcb_destroy_window(conn, tray->container); + p_clear(backend->tray, 1); + p_delete(&backend->tray); +} diff --git a/src/backend/x11/tray.h b/src/backend/x11/tray.h index 4df0025..53bcda4 100644 --- a/src/backend/x11/tray.h +++ b/src/backend/x11/tray.h @@ -15,3 +15,4 @@ void tray_init( int32_t host_width, int32_t host_height ); +void tray_cleanup(backend_t *backend);