Hi, actually the changelog should read: 2007-05-22 Robert Schuster <[EMAIL PROTECTED]>
* gnu/java/awt/peer/x/XEventQueue.java: (handleEvent): Use Input.event_window_id instead of Input.child_window_id for mouse presses/releases & movement. Sorry for the inconvenience. Regards Robert Robert Schuster schrieb: > Hi, > the attached patch makes mouse events work again for the X peers (and > prevent a NPE later). > > Regards > Robert > > 2007-05-22 Robert Schuster <[EMAIL PROTECTED]> > > * gnu/java/awt/peer/x/XEventQueue.java: > (handleEvent): Use Input.event_window_id instead of > Input.child_window_id for mouse & key presses/releases. > > > ------------------------------------------------------------------------ > > Index: gnu/java/awt/peer/x/XEventPump.java > =================================================================== > RCS file: /sources/classpath/classpath/gnu/java/awt/peer/x/XEventPump.java,v > retrieving revision 1.3 > diff -u -r1.3 XEventPump.java > --- gnu/java/awt/peer/x/XEventPump.java 30 Apr 2007 20:30:56 -0000 > 1.3 > +++ gnu/java/awt/peer/x/XEventPump.java 22 May 2007 17:41:57 -0000 > @@ -151,20 +151,19 @@ > > Integer key = null; > Window awtWindow = null; > - if (xEvent instanceof Input) > - { > - key= new Integer(((Input) xEvent).child_window_id); > - awtWindow = (Window) windows.get(key); > - } > + > if (XToolkit.DEBUG) > System.err.println("fetched event: " + xEvent); > switch (xEvent.code()) > { > case ButtonPress.CODE: > ButtonPress bp = (ButtonPress) xEvent; > + key= new Integer(bp.event_window_id); > + awtWindow = (Window) windows.get(key); > // Create and post the mouse event. > int button = bp.detail(); > drag = button; > + > MouseEvent mp = new MouseEvent(awtWindow, MouseEvent.MOUSE_PRESSED, > System.currentTimeMillis(), 0, > bp.event_x(), bp.event_y(), > @@ -173,6 +172,8 @@ > break; > case ButtonRelease.CODE: > ButtonRelease br = (ButtonRelease) xEvent; > + key= new Integer(br.event_window_id); > + awtWindow = (Window) windows.get(key); > drag = -1; > MouseEvent mr = new MouseEvent(awtWindow, MouseEvent.MOUSE_RELEASED, > System.currentTimeMillis(), 0, > @@ -182,6 +183,9 @@ > break; > case MotionNotify.CODE: > MotionNotify mn = (MotionNotify) xEvent; > + key= new Integer(mn.event_window_id); > + awtWindow = (Window) windows.get(key); > + > MouseEvent mm; > if (drag == -1) > {
signature.asc
Description: OpenPGP digital signature