[gtk+] gtkwindow: Disconnect GdkSeat::device-removed callback on finalize



commit 7d9af6d700a56f5f6c5858a64b1bf98bbea4757a
Author: Carlos Garnacho <carlosg gnome org>
Date:   Fri Jan 19 18:47:21 2018 +0100

    gtkwindow: Disconnect GdkSeat::device-removed callback on finalize
    
    Otherwise dangling callbacks may lead to crashes.

 gtk/gtkwindow.c |    4 ++++
 1 files changed, 4 insertions(+), 0 deletions(-)
---
diff --git a/gtk/gtkwindow.c b/gtk/gtkwindow.c
index d82d7da..147e505 100644
--- a/gtk/gtkwindow.c
+++ b/gtk/gtkwindow.c
@@ -6027,6 +6027,10 @@ gtk_window_finalize (GObject *object)
       priv->keys_changed_handler = 0;
     }
 
+  g_signal_handlers_disconnect_by_func (gdk_display_get_default_seat (priv->display),
+                                        device_removed_cb,
+                                        window);
+
 #ifdef GDK_WINDOWING_X11
   g_signal_handlers_disconnect_by_func (gtk_settings_get_for_display (priv->display),
                                         gtk_window_on_theme_variant_changed,


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]