From 5d2863cb8525696ceaa870d24ec295f5e3772322 Mon Sep 17 00:00:00 2001 From: Michael Natterer Date: Mon, 7 Aug 2006 01:49:11 +0000 Subject: [PATCH] need to disconnect from signals connected in gtk_drag_dest_set() here. 2006-08-07 Michael Natterer * gtk/gtkdnd-quartz.c (gtk_drag_dest_unset): need to disconnect from signals connected in gtk_drag_dest_set() here. * gtk/gtkdnd-quartz.c (gtk_drag_dest_set): call gtk_drag_dest_unset() instead of disconnecting the old signal connections here. --- ChangeLog | 8 ++++++++ ChangeLog.pre-2-10 | 8 ++++++++ gtk/gtkdnd-quartz.c | 26 +++++++++++++++----------- 3 files changed, 31 insertions(+), 11 deletions(-) diff --git a/ChangeLog b/ChangeLog index 2d847b49a3..0d0391d99f 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,11 @@ +2006-08-07 Michael Natterer + + * gtk/gtkdnd-quartz.c (gtk_drag_dest_unset): need to disconnect + from signals connected in gtk_drag_dest_set() here. + + * gtk/gtkdnd-quartz.c (gtk_drag_dest_set): call gtk_drag_dest_unset() + instead of disconnecting the old signal connections here. + 2006-08-07 Emmanuele Bassi * gtk/gtkrecentchooserdefault.c: diff --git a/ChangeLog.pre-2-10 b/ChangeLog.pre-2-10 index 2d847b49a3..0d0391d99f 100644 --- a/ChangeLog.pre-2-10 +++ b/ChangeLog.pre-2-10 @@ -1,3 +1,11 @@ +2006-08-07 Michael Natterer + + * gtk/gtkdnd-quartz.c (gtk_drag_dest_unset): need to disconnect + from signals connected in gtk_drag_dest_set() here. + + * gtk/gtkdnd-quartz.c (gtk_drag_dest_set): call gtk_drag_dest_unset() + instead of disconnecting the old signal connections here. + 2006-08-07 Emmanuele Bassi * gtk/gtkrecentchooserdefault.c: diff --git a/gtk/gtkdnd-quartz.c b/gtk/gtkdnd-quartz.c index 811b48b183..6c0e55e8d3 100644 --- a/gtk/gtkdnd-quartz.c +++ b/gtk/gtkdnd-quartz.c @@ -462,20 +462,11 @@ gtk_drag_dest_set (GtkWidget *widget, gint n_targets, GdkDragAction actions) { - GtkDragDestSite *old_site, *site; + GtkDragDestSite *site; g_return_if_fail (GTK_IS_WIDGET (widget)); - old_site = g_object_get_data (G_OBJECT (widget), "gtk-drag-dest"); - if (old_site) - { - g_signal_handlers_disconnect_by_func (widget, - gtk_drag_dest_realized, - old_site); - g_signal_handlers_disconnect_by_func (widget, - gtk_drag_dest_hierarchy_changed, - old_site); - } + gtk_drag_dest_unset (widget); site = g_new (GtkDragDestSite, 1); site->flags = flags; @@ -510,8 +501,21 @@ gtk_drag_dest_set_proxy (GtkWidget *widget, void gtk_drag_dest_unset (GtkWidget *widget) { + GtkDragDestSite *old_site; + g_return_if_fail (GTK_IS_WIDGET (widget)); + old_site = g_object_get_data (G_OBJECT (widget), "gtk-drag-dest"); + if (old_site) + { + g_signal_handlers_disconnect_by_func (widget, + gtk_drag_dest_realized, + old_site); + g_signal_handlers_disconnect_by_func (widget, + gtk_drag_dest_hierarchy_changed, + old_site); + } + g_object_set_data (G_OBJECT (widget), I_("gtk-drag-dest"), NULL); }