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.
This commit is contained in:
Michael Natterer
2006-08-07 01:49:11 +00:00
committed by Michael Natterer
parent 9dd4f220fe
commit 5d2863cb85
3 changed files with 31 additions and 11 deletions

View File

@ -1,3 +1,11 @@
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.
2006-08-07 Emmanuele Bassi <ebassi@gnome.org>
* gtk/gtkrecentchooserdefault.c:

View File

@ -1,3 +1,11 @@
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.
2006-08-07 Emmanuele Bassi <ebassi@gnome.org>
* gtk/gtkrecentchooserdefault.c:

View File

@ -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);
}