From 95843529d1fb5efc65784f69245159fdbfe84822 Mon Sep 17 00:00:00 2001 From: Owen Taylor Date: Sat, 9 Jan 1999 00:21:37 +0000 Subject: Fixed some list-manipulation breakage. Fri Jan 8 19:00:17 1999 Owen Taylor * gdk/gdkdnd.c (gdk_window_cache_filter): Fixed some list-manipulation breakage. * gdk/gdkdnd.c (gdk_window_cache_destroy): Free window cache structure. * gtk/gtkdnd.c (gtk_drag_set_icon_pixmap): Set an event mask on the drag window so clicking on it doesn't pop up root menus, etc. * gtk/gtkdnd.c (gtk_drag_button_release_cb): Remove signal handlers at button release. --- gtk/gtkdnd.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) (limited to 'gtk/gtkdnd.c') diff --git a/gtk/gtkdnd.c b/gtk/gtkdnd.c index cb7df4d695..9dab1b40e6 100644 --- a/gtk/gtkdnd.c +++ b/gtk/gtkdnd.c @@ -1,5 +1,5 @@ /* GTK - The GIMP Toolkit - * Copyright (C) 1995-1997 Peter Mattis, Spencer Kimball and Josh MacDonald + * Copyright (C) 1995-1999 Peter Mattis, Spencer Kimball and Josh MacDonald * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Library General Public @@ -1759,6 +1759,7 @@ gtk_drag_set_icon_pixmap (GdkDragContext *context, gtk_widget_push_colormap (colormap); window = gtk_window_new (GTK_WINDOW_POPUP); + gtk_widget_set_events (window, GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK); gtk_widget_set_app_paintable (GTK_WIDGET (window), TRUE); gtk_widget_pop_visual (); @@ -2334,7 +2335,6 @@ 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,6 +2459,7 @@ gtk_drag_button_release_cb (GtkWidget *widget, } gtk_grab_remove (widget); + gtk_signal_disconnect_by_data (GTK_OBJECT (widget), info); /* Send on a release pair to the the original * widget to convince it to release its grab. We need to -- cgit v1.2.1