Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Path: utzoo!mnetor!uunet!seismo!sundc!pitstop!sun!decwrl!decvax!ucbvax!ZERMATT.LCS.MIT.EDU!RWS From: RWS@ZERMATT.LCS.MIT.EDU (Robert Scheifler) Newsgroups: comp.windows.x Subject: X11 fix #36, lib/X/XEvToWire.c, Key/Button smashes Message-ID: <871028143726.2.RWS@KILLINGTON.LCS.MIT.EDU> Date: Wed, 28-Oct-87 14:37:00 EST Article-I.D.: KILLINGT.871028143726.2.RWS Posted: Wed Oct 28 14:37:00 1987 Date-Received: Sat, 31-Oct-87 14:50:56 EST References: <8710281334.AA01695@edsel.siemens.com> Sender: daemon@ucbvax.BERKELEY.EDU Organization: The ARPA Internet Lines: 58 Date: Tue, 27 Oct 87 09:36:31 EST From: berman@dasher ( A. Michael Berman ) SYNOPSIS: XSendEvent trashes window ID when sending a KeyPress event. FIX: It also crocks a field on Button events. in lib/X/XEvToWire.c: *** /tmp/,RCSt1006778 Wed Oct 28 14:09:42 1987 --- XEvToWire.c Wed Oct 28 12:55:06 1987 *************** *** 2,8 **** /* Copyright Massachusetts Institute of Technology 1985, 1986, 1987 */ #ifndef lint ! static char rcsid[] = "$Header: XEvToWire.c,v 11.12 87/10/20 16:32:23 newman Exp $"; #endif /* --- 2,8 ---- /* Copyright Massachusetts Institute of Technology 1985, 1986, 1987 */ #ifndef lint ! static char rcsid[] = "$Header: XEvToWire.c,v 11.13 87/10/28 12:54:38 newman Exp $"; #endif /* *************** *** 30,37 **** { register XKeyEvent *ev = (XKeyEvent*) re; event->u.keyButtonPointer.root = ev->root; - ev->window = event->u.keyButtonPointer.event; - event->u.keyButtonPointer.event = ev->window; event->u.keyButtonPointer.child = ev->subwindow; event->u.keyButtonPointer.time = ev->time; --- 30,35 ---- *************** *** 53,59 **** event->u.keyButtonPointer.child = ev->subwindow; event->u.keyButtonPointer.time = ev->time; event->u.keyButtonPointer.eventX = ev->x; ! event->u.keyButtonPointer.event = ev->y; event->u.keyButtonPointer.rootX = ev->x_root; event->u.keyButtonPointer.rootY = ev->y_root; event->u.keyButtonPointer.state = ev->state; --- 51,57 ---- event->u.keyButtonPointer.child = ev->subwindow; event->u.keyButtonPointer.time = ev->time; event->u.keyButtonPointer.eventX = ev->x; ! event->u.keyButtonPointer.eventY = ev->y; event->u.keyButtonPointer.rootX = ev->x_root; event->u.keyButtonPointer.rootY = ev->y_root; event->u.keyButtonPointer.state = ev->state;