diff --git a/src/core/display.c b/src/core/display.c index ace30c8d6..8b5dc5a07 100644 --- a/src/core/display.c +++ b/src/core/display.c @@ -1223,6 +1223,8 @@ void meta_display_close (MetaDisplay *display, guint32 timestamp) { + MetaBackend *backend = backend_from_display (display); + ClutterActor *stage = meta_backend_get_stage (backend); MetaCompositor *compositor; MetaLaters *laters; @@ -1272,6 +1274,8 @@ meta_display_close (MetaDisplay *display, meta_display_shutdown_keys (display); + g_signal_handlers_disconnect_by_func (stage, on_is_grabbed_changed, display); + g_clear_object (&display->bell); g_clear_object (&display->startup_notification); g_clear_object (&display->workspace_manager);