summaryrefslogtreecommitdiff
path: root/gdk/gdkdnd.c
diff options
context:
space:
mode:
authorElliot Lee <sopwith@src.gnome.org>1998-03-10 21:57:05 +0000
committerElliot Lee <sopwith@src.gnome.org>1998-03-10 21:57:05 +0000
commit120df3b8b7092f9800a2ebf42cb4b698ef1f7269 (patch)
treeb96ea4a764c7283f8cb8fb0594c47ce87a38e579 /gdk/gdkdnd.c
parentfabfc17d930034a451a7017b8ac35b05d7e7272d (diff)
downloadgtk+-120df3b8b7092f9800a2ebf42cb4b698ef1f7269.tar.gz
DnD bugfixes (hopefully :). Rasters code is still buggy, methinks - try the dnd in testgtk
Diffstat (limited to 'gdk/gdkdnd.c')
-rw-r--r--gdk/gdkdnd.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/gdk/gdkdnd.c b/gdk/gdkdnd.c
index 28900bbf5d..0b1c256b8b 100644
--- a/gdk/gdkdnd.c
+++ b/gdk/gdkdnd.c
@@ -26,6 +26,8 @@ gdk_dnd_set_drag_cursors(GdkCursor *default_cursor, GdkCursor *goahead_cursor)
gdk_window_unref(gdk_dnd.c->drag_pm_ok);
}
gdk_dnd.c->drag_pm_default = gdk_dnd.c->drag_pm_ok = NULL;
+ g_list_free(gdk_dnd.c->xids);
+ gdk_dnd.c->xids = NULL;
}
gdk_dnd_display_drag_cursor(-1, -1,
gdk_dnd.dnd_drag_target?TRUE:FALSE,
@@ -41,6 +43,7 @@ gdk_dnd_set_drag_shape(GdkWindow *default_pixmapwin,
{
g_return_if_fail(default_pixmapwin != NULL);
+ g_list_free(gdk_dnd.c->xids); gdk_dnd.c->xids = NULL;
if(gdk_dnd.c->drag_pm_default)
gdk_window_unref(gdk_dnd.c->drag_pm_default);
if(gdk_dnd.c->drag_pm_ok)
@@ -51,9 +54,11 @@ gdk_dnd_set_drag_shape(GdkWindow *default_pixmapwin,
gdk_window_ref(default_pixmapwin);
gdk_dnd.c->drag_pm_default = default_pixmapwin;
gdk_dnd.c->default_hotspot = *default_hotspot;
+ gdk_dnd.c->xids = g_list_append(gdk_dnd.c->xids, ((GdkWindowPrivate *)default_pixmapwin)->xwindow);
if(goahead_pixmapwin)
{
gdk_window_ref(goahead_pixmapwin);
+ gdk_dnd.c->xids = g_list_append(gdk_dnd.c->xids, ((GdkWindowPrivate *)goahead_pixmapwin)->xwindow);
gdk_dnd.c->drag_pm_ok = goahead_pixmapwin;
gdk_dnd.c->ok_hotspot = *goahead_hotspot;
}