summaryrefslogtreecommitdiff
path: root/gtk/gtkdnd-quartz.c
diff options
context:
space:
mode:
authorMichael Natterer <mitch@imendio.com>2006-08-07 01:49:11 +0000
committerMichael Natterer <mitch@src.gnome.org>2006-08-07 01:49:11 +0000
commit5d2863cb8525696ceaa870d24ec295f5e3772322 (patch)
tree1ec851c7c21a734d07723adc5e70db27b2cf2a56 /gtk/gtkdnd-quartz.c
parent9dd4f220fe1d168c3eb86407bdbc6b3ecdeeb191 (diff)
downloadgtk+-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.c26
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);
}