From 4fe51aa43982cafc3881b1380d7b491d245d40f5 Mon Sep 17 00:00:00 2001 From: rewine Date: Sat, 31 Jan 2026 17:59:31 +0800 Subject: [PATCH] types: Simplify wlr_keyboard_group_destroy If the wlr_keyboard_group_remove_keyboard function is expanded, the code is equivalent to: ``` wl_list_for_each_safe(device, tmp_device, &group->devices, link) { struct wlr_keyboard_group *_group = group; struct wlr_keyboard *_keyboard = device->keyboard; struct keyboard_group_device *_device, *_tmp; wl_list_for_each_safe(_device, _tmp, &_group->devices, link) { if (_device->keyboard == _keyboard) { remove_keyboard_group_device(_device); continue; } } } ``` It's just running one more loop meaninglessly. --- types/wlr_keyboard_group.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/types/wlr_keyboard_group.c b/types/wlr_keyboard_group.c index 0ff6d93bb..6005ba647 100644 --- a/types/wlr_keyboard_group.c +++ b/types/wlr_keyboard_group.c @@ -308,7 +308,7 @@ void wlr_keyboard_group_remove_keyboard(struct wlr_keyboard_group *group, void wlr_keyboard_group_destroy(struct wlr_keyboard_group *group) { struct keyboard_group_device *device, *tmp_device; wl_list_for_each_safe(device, tmp_device, &group->devices, link) { - wlr_keyboard_group_remove_keyboard(group, device->keyboard); + remove_keyboard_group_device(device); } // Now group->keys might not be empty if a wlr_keyboard has emitted