summaryrefslogtreecommitdiff
path: root/gtk/gtkdnd.c
diff options
context:
space:
mode:
authorOwen Taylor <otaylor@redhat.com>1999-01-09 00:21:37 +0000
committerOwen Taylor <otaylor@src.gnome.org>1999-01-09 00:21:37 +0000
commit95843529d1fb5efc65784f69245159fdbfe84822 (patch)
tree5e4f4673a31f4b74eb481e46ee14d1f575c11882 /gtk/gtkdnd.c
parentb56693d114a9033d5d371b668ac5304a88d6effd (diff)
downloadgtk+-95843529d1fb5efc65784f69245159fdbfe84822.tar.gz
Fixed some list-manipulation breakage.
Fri Jan 8 19:00:17 1999 Owen Taylor <otaylor@redhat.com> * 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.
Diffstat (limited to 'gtk/gtkdnd.c')
-rw-r--r--gtk/gtkdnd.c5
1 files changed, 3 insertions, 2 deletions
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