[348] in The GTK GIMP ToolKit mailing list archive

home help back first fref pref prev next nref lref last post

[gtk-list] Quick DND patch

daemon@ATHENA.MIT.EDU (Elliot Lee)
Fri Jun 13 13:41:28 1997

Date: Fri, 13 Jun 1997 13:41:21 -0400 (EDT)
From: Elliot Lee <sopwith@redhat.com>
To: gtk-list@redhat.com
Resent-From: gtk-list@redhat.com
Reply-To: gtk-list@redhat.com

This patch stops things from segfaulting when you drag something to the
root window, and also makes drops on widgets work.

BTW I forgot to mention that you can try all this out by running testgtk,
clicking on the 'Buttons' button, and then dragging 'Button1' around. I
use the 'dndtest' program from the OffiX-devel rpm to test as well.

-- Elliot					http://www.redhat.com/
How do you explain school to a higher intelligence?
                -- Elliot, "E.T."
--- gimp-0.99.10/gtk+/gdk/gdk.c.sopwith	Fri Jun 13 12:57:00 1997
+++ gimp-0.99.10/gtk+/gdk/gdk.c	Fri Jun 13 13:29:58 1997
@@ -1880,6 +1880,7 @@
 	    }
 	} else if(xevent->xclient.message_type == gdk_DndProtocol) {
 	    Window tmpwin;
+	    int tmpx, tmpy;
 	    event->drop.type = GDK_DROP_NOTIFY;
 	    /* We need to turn this X & Y relative to the root window into
 		an X & Y relative to window */
@@ -1887,8 +1888,9 @@
 				  xevent->xclient.window,
 				  xevent->xclient.data.l[3] % 65536,
 				  xevent->xclient.data.l[3] / 65536,
-				  &event->drop.x, &event->drop.y,
-				     &tmpwin);
+				  &tmpx, &tmpy, &tmpwin);
+	    event->drop.x = (guint16) tmpx;
+	    event->drop.y = (guint16) tmpy;
 	    /* The message may get sent to
 	       a toplevel window but should actually be sent the the
 	       specific widget inside that toplevel window on which
@@ -2170,6 +2172,9 @@
     unsigned long nitems, after;
     unsigned char *data;
     Window inf;
+
+    if(win == 0)
+	return DefaultRootWindow(dpy);
 
     if((WM_STATE = XInternAtom(dpy, "WM_STATE", True)) == 0)
 	return win;

--
To unsubscribe: mail -s unsubscribe gtk-list-request@redhat.com < /dev/null


home help back first fref pref prev next nref lref last post