diff options
-rw-r--r-- | ChangeLog | 9 | ||||
-rw-r--r-- | ChangeLog.pre-2-10 | 9 | ||||
-rw-r--r-- | ChangeLog.pre-2-4 | 9 | ||||
-rw-r--r-- | ChangeLog.pre-2-6 | 9 | ||||
-rw-r--r-- | ChangeLog.pre-2-8 | 9 | ||||
-rw-r--r-- | gdk/x11/gdkdnd-x11.c | 9 | ||||
-rw-r--r-- | gtk/gtkdnd.c | 10 | ||||
-rw-r--r-- | tests/testdnd.c | 2 |
8 files changed, 61 insertions, 5 deletions
@@ -1,3 +1,12 @@ +Sun Jun 8 22:03:09 2003 Owen Taylor <otaylor@redhat.com> + + * tests/testdnd.c: Use application/x-rootwindow-drop for + root window drops. (#108670, Alex Larsson) + + * gdk/x11/gdkdnd-x11.c (gdk_drag_motion) gtk/gtkdnd.c (gtk_drag_drop): + Accept either application/x-rootwin-drop (what GTK+ has always used) + or application/x-rootwindow-drop (what the XDND standard specifies). + Fri Jun 6 11:07:33 2003 Owen Taylor <otaylor@redhat.com> * gtk/gtkwidget.c (event_window_still_viewable): diff --git a/ChangeLog.pre-2-10 b/ChangeLog.pre-2-10 index 3081eef7cd..f29f72f577 100644 --- a/ChangeLog.pre-2-10 +++ b/ChangeLog.pre-2-10 @@ -1,3 +1,12 @@ +Sun Jun 8 22:03:09 2003 Owen Taylor <otaylor@redhat.com> + + * tests/testdnd.c: Use application/x-rootwindow-drop for + root window drops. (#108670, Alex Larsson) + + * gdk/x11/gdkdnd-x11.c (gdk_drag_motion) gtk/gtkdnd.c (gtk_drag_drop): + Accept either application/x-rootwin-drop (what GTK+ has always used) + or application/x-rootwindow-drop (what the XDND standard specifies). + Fri Jun 6 11:07:33 2003 Owen Taylor <otaylor@redhat.com> * gtk/gtkwidget.c (event_window_still_viewable): diff --git a/ChangeLog.pre-2-4 b/ChangeLog.pre-2-4 index 3081eef7cd..f29f72f577 100644 --- a/ChangeLog.pre-2-4 +++ b/ChangeLog.pre-2-4 @@ -1,3 +1,12 @@ +Sun Jun 8 22:03:09 2003 Owen Taylor <otaylor@redhat.com> + + * tests/testdnd.c: Use application/x-rootwindow-drop for + root window drops. (#108670, Alex Larsson) + + * gdk/x11/gdkdnd-x11.c (gdk_drag_motion) gtk/gtkdnd.c (gtk_drag_drop): + Accept either application/x-rootwin-drop (what GTK+ has always used) + or application/x-rootwindow-drop (what the XDND standard specifies). + Fri Jun 6 11:07:33 2003 Owen Taylor <otaylor@redhat.com> * gtk/gtkwidget.c (event_window_still_viewable): diff --git a/ChangeLog.pre-2-6 b/ChangeLog.pre-2-6 index 3081eef7cd..f29f72f577 100644 --- a/ChangeLog.pre-2-6 +++ b/ChangeLog.pre-2-6 @@ -1,3 +1,12 @@ +Sun Jun 8 22:03:09 2003 Owen Taylor <otaylor@redhat.com> + + * tests/testdnd.c: Use application/x-rootwindow-drop for + root window drops. (#108670, Alex Larsson) + + * gdk/x11/gdkdnd-x11.c (gdk_drag_motion) gtk/gtkdnd.c (gtk_drag_drop): + Accept either application/x-rootwin-drop (what GTK+ has always used) + or application/x-rootwindow-drop (what the XDND standard specifies). + Fri Jun 6 11:07:33 2003 Owen Taylor <otaylor@redhat.com> * gtk/gtkwidget.c (event_window_still_viewable): diff --git a/ChangeLog.pre-2-8 b/ChangeLog.pre-2-8 index 3081eef7cd..f29f72f577 100644 --- a/ChangeLog.pre-2-8 +++ b/ChangeLog.pre-2-8 @@ -1,3 +1,12 @@ +Sun Jun 8 22:03:09 2003 Owen Taylor <otaylor@redhat.com> + + * tests/testdnd.c: Use application/x-rootwindow-drop for + root window drops. (#108670, Alex Larsson) + + * gdk/x11/gdkdnd-x11.c (gdk_drag_motion) gtk/gtkdnd.c (gtk_drag_drop): + Accept either application/x-rootwin-drop (what GTK+ has always used) + or application/x-rootwindow-drop (what the XDND standard specifies). + Fri Jun 6 11:07:33 2003 Owen Taylor <otaylor@redhat.com> * gtk/gtkwidget.c (event_window_still_viewable): diff --git a/gdk/x11/gdkdnd-x11.c b/gdk/x11/gdkdnd-x11.c index 2c5c9c3ff9..c962894ccb 100644 --- a/gdk/x11/gdkdnd-x11.c +++ b/gdk/x11/gdkdnd-x11.c @@ -3107,9 +3107,16 @@ gdk_drag_motion (GdkDragContext *context, case GDK_DRAG_PROTO_ROOTWIN: { GdkEvent temp_event; + /* GTK+ traditionally has used application/x-rootwin-drop, + * but the XDND spec specifies x-rootwindow-drop. + */ + GdkAtom target1 = gdk_atom_intern ("application/x-rootwindow-drop", FALSE); + GdkAtom target2 = gdk_atom_intern ("application/x-rootwin-drop", FALSE); if (g_list_find (context->targets, - GDK_ATOM_TO_POINTER (gdk_atom_intern ("application/x-rootwin-drop", FALSE)))) + GDK_ATOM_TO_POINTER (target1)) || + g_list_find (context->targets, + GDK_ATOM_TO_POINTER (target2))) context->action = context->suggested_action; else context->action = 0; diff --git a/gtk/gtkdnd.c b/gtk/gtkdnd.c index 9a074784ba..b9f63f6142 100644 --- a/gtk/gtkdnd.c +++ b/gtk/gtkdnd.c @@ -2791,17 +2791,21 @@ gtk_drag_drop (GtkDragSourceInfo *info, { GtkSelectionData selection_data; GList *tmp_list; - GdkAtom target = gdk_atom_intern ("application/x-rootwin-drop", FALSE); + /* GTK+ traditionally has used application/x-rootwin-drop, but the + * XDND spec specifies x-rootwindow-drop. + */ + GdkAtom target1 = gdk_atom_intern ("application/x-rootwindow-drop", FALSE); + GdkAtom target2 = gdk_atom_intern ("application/x-rootwin-drop", FALSE); tmp_list = info->target_list->list; while (tmp_list) { GtkTargetPair *pair = tmp_list->data; - if (pair->target == target) + if (pair->target == target1 || pair->target == target2) { selection_data.selection = GDK_NONE; - selection_data.target = target; + selection_data.target = pair->target; selection_data.data = NULL; selection_data.length = -1; diff --git a/tests/testdnd.c b/tests/testdnd.c index 8e4e9333a9..f424c070c5 100644 --- a/tests/testdnd.c +++ b/tests/testdnd.c @@ -281,7 +281,7 @@ enum { static GtkTargetEntry target_table[] = { { "STRING", 0, TARGET_STRING }, { "text/plain", 0, TARGET_STRING }, - { "application/x-rootwin-drop", 0, TARGET_ROOTWIN } + { "application/x-rootwindow-drop", 0, TARGET_ROOTWIN } }; static guint n_targets = sizeof(target_table) / sizeof(target_table[0]); |