diff options
author | Michael Natterer <mitch@imendio.com> | 2006-08-07 01:49:11 +0000 |
---|---|---|
committer | Michael Natterer <mitch@src.gnome.org> | 2006-08-07 01:49:11 +0000 |
commit | 5d2863cb8525696ceaa870d24ec295f5e3772322 (patch) | |
tree | 1ec851c7c21a734d07723adc5e70db27b2cf2a56 /gtk/gtkdnd-quartz.c | |
parent | 9dd4f220fe1d168c3eb86407bdbc6b3ecdeeb191 (diff) | |
download | gtk+-5d2863cb8525696ceaa870d24ec295f5e3772322.tar.gz |
need to disconnect from signals connected in gtk_drag_dest_set() here.
2006-08-07 Michael Natterer <mitch@imendio.com>
* 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.
Diffstat (limited to 'gtk/gtkdnd-quartz.c')
-rw-r--r-- | gtk/gtkdnd-quartz.c | 26 |
1 files changed, 15 insertions, 11 deletions
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); } |