diff options
author | Owen Taylor <otaylor@redhat.com> | 1999-01-11 16:07:47 +0000 |
---|---|---|
committer | Owen Taylor <otaylor@src.gnome.org> | 1999-01-11 16:07:47 +0000 |
commit | 0b84fc27424dfe1a3dbd7cb35b80a95eadd8aa17 (patch) | |
tree | 2f673136507fd4254c84aae3ae4751d41f2e9977 /gtk/gtkdnd.c | |
parent | 983335243b6e49e4929b0cce67dfdb0259981e27 (diff) | |
download | gtk+-0b84fc27424dfe1a3dbd7cb35b80a95eadd8aa17.tar.gz |
Only remove handlers for motion/button_release at drop, remove
Mon Jan 11 10:45:28 1999 Owen Taylor <otaylor@redhat.com>
* gtk/gtkdnd.c: Only remove handlers for motion/button_release
at drop, remove "selection_get" handler later.
Diffstat (limited to 'gtk/gtkdnd.c')
-rw-r--r-- | gtk/gtkdnd.c | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/gtk/gtkdnd.c b/gtk/gtkdnd.c index 9dab1b40e6..cd29c53d53 100644 --- a/gtk/gtkdnd.c +++ b/gtk/gtkdnd.c @@ -2334,7 +2334,8 @@ gtk_drag_source_info_destroy (gpointer data) if (info->widget) gtk_widget_unref (info->widget); - + + gtk_signal_disconnect_by_data (GTK_OBJECT (info->ipc_widget), info); gtk_selection_remove_all (info->ipc_widget); gtk_object_set_data (GTK_OBJECT (info->ipc_widget), "gtk-info", NULL); source_widgets = g_slist_remove (source_widgets, info->ipc_widget); @@ -2459,7 +2460,12 @@ gtk_drag_button_release_cb (GtkWidget *widget, } gtk_grab_remove (widget); - gtk_signal_disconnect_by_data (GTK_OBJECT (widget), info); + gtk_signal_disconnect_by_func (GTK_OBJECT (widget), + GTK_SIGNAL_FUNC (gtk_drag_button_release_cb), + info); + gtk_signal_disconnect_by_func (GTK_OBJECT (widget), + GTK_SIGNAL_FUNC (gtk_drag_motion_cb), + info); /* Send on a release pair to the the original * widget to convince it to release its grab. We need to |