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.
This commit is contained in:
rewine 2026-01-31 17:59:31 +08:00 committed by Simon Zeni
parent 12c9502edf
commit 4fe51aa439

View file

@ -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