]> Pileus Git - ~andy/gtk/commitdiff
Use application/x-rootwindow-drop for root window drops. (#108670, Alex
authorOwen Taylor <otaylor@redhat.com>
Mon, 9 Jun 2003 02:13:42 +0000 (02:13 +0000)
committerOwen Taylor <otaylor@src.gnome.org>
Mon, 9 Jun 2003 02:13:42 +0000 (02:13 +0000)
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).

ChangeLog
ChangeLog.pre-2-10
ChangeLog.pre-2-4
ChangeLog.pre-2-6
ChangeLog.pre-2-8
gdk/x11/gdkdnd-x11.c
gtk/gtkdnd.c
tests/testdnd.c

index 3081eef7cd6ac6767d9d9a72a4bded3a8f314383..f29f72f577436a24c03069dbd6278d0672cd30ef 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -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): 
index 3081eef7cd6ac6767d9d9a72a4bded3a8f314383..f29f72f577436a24c03069dbd6278d0672cd30ef 100644 (file)
@@ -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): 
index 3081eef7cd6ac6767d9d9a72a4bded3a8f314383..f29f72f577436a24c03069dbd6278d0672cd30ef 100644 (file)
@@ -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): 
index 3081eef7cd6ac6767d9d9a72a4bded3a8f314383..f29f72f577436a24c03069dbd6278d0672cd30ef 100644 (file)
@@ -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): 
index 3081eef7cd6ac6767d9d9a72a4bded3a8f314383..f29f72f577436a24c03069dbd6278d0672cd30ef 100644 (file)
@@ -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): 
index 2c5c9c3ff943bc433fa8b8ba9a6fdf280d16efb3..c962894ccbbbaeeadc856274a44087e759ffa86c 100644 (file)
@@ -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;
index 9a074784ba82891a740e255f4276039046caa48f..b9f63f61428947086dddf5abde7772240d2f7ebc 100644 (file)
@@ -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;
              
index 8e4e9333a9c33f0faacce1b5925e09798447b496..f424c070c5fc0865fbe4e6102d03faccf0bf2dac 100644 (file)
@@ -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]);