From 20e5e57c8cdd27ae040778cc1906a4c6aa36e65c Mon Sep 17 00:00:00 2001 From: Zedhugh Chen Date: Mon, 13 Apr 2026 05:48:14 +0800 Subject: [PATCH] =?UTF-8?q?refactor(core/layout):=20=E6=B8=85=E7=90=86=20l?= =?UTF-8?q?ayout=5Fregistry=5Ft=20=E6=97=B6=E6=94=B9=E7=94=A8=20for=20?= =?UTF-8?q?=E5=BE=AA=E7=8E=AF=E7=BB=9F=E4=B8=80=E4=BB=A3=E7=A0=81=E9=A3=8E?= =?UTF-8?q?=E6=A0=BC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/core/layout.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/core/layout.c b/src/core/layout.c index fe1968d..36ac473 100644 --- a/src/core/layout.c +++ b/src/core/layout.c @@ -21,14 +21,15 @@ void layout_result_push(layout_result_t *result, layout_item_t item) { } void layout_registry_cleanup(layout_registry_t *registry) { - while (registry->slot_count > 0) { - layout_slot_t *r = ®istry->slots[--registry->slot_count]; + for (size_t i = 0; i < registry->slot_count; ++i) { + layout_slot_t *r = ®istry->slots[i]; p_delete(&r->name); p_delete(&r->symbol); p_delete(&r->description); r->fn = nullptr; r->id = ZDWM_LAYOUT_ID_INVALID; } + p_delete(®istry->slots); registry->slot_count = 0; registry->slot_capacity = 0;