summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/wayland/meta-wayland-keyboard.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/src/wayland/meta-wayland-keyboard.c b/src/wayland/meta-wayland-keyboard.c
index a62b4f354..e4d4f2212 100644
--- a/src/wayland/meta-wayland-keyboard.c
+++ b/src/wayland/meta-wayland-keyboard.c
@@ -411,6 +411,11 @@ meta_wayland_xkb_info_destroy (MetaWaylandXkbInfo *xkb_info)
void
meta_wayland_keyboard_release (MetaWaylandKeyboard *keyboard)
{
+ MetaBackend *backend = meta_get_backend ();
+
+ g_signal_handlers_disconnect_by_func (backend, on_keymap_changed, keyboard);
+ g_signal_handlers_disconnect_by_func (backend, on_keymap_layout_group_changed, keyboard);
+
meta_wayland_keyboard_set_focus (keyboard, NULL);
meta_wayland_xkb_info_destroy (&keyboard->xkb_info);