aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authoremersion <contact@emersion.fr>2018-05-30 13:51:34 +0100
committerGitHub <noreply@github.com>2018-05-30 13:51:34 +0100
commit41e53d14997de21fbad80d420acb358bec4341e8 (patch)
tree9cf7cf115f032b0e45438669c180c4c07c7fb5ed
parent5d8e38702175fcc7cb991effeadca1f5a9308e6d (diff)
parentf580112dcabe0de4cf3d115a4e1cb74b87efc75c (diff)
Merge pull request #1019 from emersion/virtual-keyboard-destroy
virtual-keyboard: fix wlr_virtual_keyboard_manager_v1_destroy
-rw-r--r--types/wlr_virtual_keyboard_v1.c10
1 files changed, 10 insertions, 0 deletions
diff --git a/types/wlr_virtual_keyboard_v1.c b/types/wlr_virtual_keyboard_v1.c
index 0673f394..49abde7f 100644
--- a/types/wlr_virtual_keyboard_v1.c
+++ b/types/wlr_virtual_keyboard_v1.c
@@ -231,6 +231,16 @@ struct wlr_virtual_keyboard_manager_v1*
void wlr_virtual_keyboard_manager_v1_destroy(
struct wlr_virtual_keyboard_manager_v1 *manager) {
+ wl_list_remove(&manager->display_destroy.link);
wl_global_destroy(manager->global);
+ struct wl_resource *resource, *resource_tmp;
+ wl_resource_for_each_safe(resource, resource_tmp, &manager->resources) {
+ wl_resource_destroy(resource);
+ }
+ struct wlr_virtual_keyboard_v1 *keyboard, *keyboard_tmp;
+ wl_list_for_each_safe(keyboard, keyboard_tmp, &manager->virtual_keyboards,
+ link) {
+ wl_resource_destroy(keyboard->resource);
+ }
free(manager);
}