[gtk+] GtkWindow: fix an init/finalize asymmetry
- From: Matthias Clasen <matthiasc src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gtk+] GtkWindow: fix an init/finalize asymmetry
- Date: Tue, 13 Aug 2013 21:45:10 +0000 (UTC)
commit 9463c78bace70da5f2e04fa55bfcfde8b4eb059c
Author: Matthias Clasen <mclasen redhat com>
Date: Tue Aug 13 17:44:04 2013 -0400
GtkWindow: fix an init/finalize asymmetry
Make sure we always deal with the same screen when
connecting / disconnecting the theme-variant changed handler.
Pointed out by Morten Welinder in
https://bugzilla.gnome.org/show_bug.cgi?id=705640
gtk/gtkwindow.c | 17 +++++++++--------
1 files changed, 9 insertions(+), 8 deletions(-)
---
diff --git a/gtk/gtkwindow.c b/gtk/gtkwindow.c
index a0c0cc6..a74ab7e 100644
--- a/gtk/gtkwindow.c
+++ b/gtk/gtkwindow.c
@@ -5005,8 +5005,15 @@ gtk_window_finalize (GObject *object)
}
if (priv->screen)
- g_signal_handlers_disconnect_by_func (priv->screen,
- gtk_window_on_composited_changed, window);
+ {
+ g_signal_handlers_disconnect_by_func (priv->screen,
+ gtk_window_on_composited_changed, window);
+#ifdef GDK_WINDOWING_X11
+ g_signal_handlers_disconnect_by_func (gtk_settings_get_for_screen (priv->screen),
+ gtk_window_on_theme_variant_changed,
+ window);
+#endif
+ }
g_free (priv->startup_id);
@@ -5016,12 +5023,6 @@ gtk_window_finalize (GObject *object)
priv->mnemonics_display_timeout_id = 0;
}
-#ifdef GDK_WINDOWING_X11
- g_signal_handlers_disconnect_by_func (gtk_settings_get_default (),
- gtk_window_on_theme_variant_changed,
- window);
-#endif
-
G_OBJECT_CLASS (gtk_window_parent_class)->finalize (object);
}
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]