diff options
author | Robert Schuster <theBohemian@gmx.net> | 2007-05-22 17:54:42 +0000 |
---|---|---|
committer | Robert Schuster <theBohemian@gmx.net> | 2007-05-22 17:54:42 +0000 |
commit | 0cc91b9601602591a44a749a983e3442e24d2445 (patch) | |
tree | c4b86c2a6d8c8a340ba085f99738f78e3448198b /gnu/java/awt/peer/x | |
parent | 219879c7bb5d58b05dd2edf2a30ef9123b0332a3 (diff) | |
download | classpath-0cc91b9601602591a44a749a983e3442e24d2445.tar.gz |
Makes mouse events working for the X peers.
2007-05-22 Robert Schuster <robertschuster@fsfe.org>
* gnu/java/awt/peer/x/XEventQueue.java:
(handleEvent): Use Input.event_window_id instead of
Input.child_window_id for mouse & key presses/releases.
Diffstat (limited to 'gnu/java/awt/peer/x')
-rw-r--r-- | gnu/java/awt/peer/x/XEventPump.java | 14 |
1 files changed, 9 insertions, 5 deletions
diff --git a/gnu/java/awt/peer/x/XEventPump.java b/gnu/java/awt/peer/x/XEventPump.java index bfbd08728..9b59cc2ba 100644 --- a/gnu/java/awt/peer/x/XEventPump.java +++ b/gnu/java/awt/peer/x/XEventPump.java @@ -151,20 +151,19 @@ public class XEventPump 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 @@ public class XEventPump 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 @@ public class XEventPump 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) { |