diff options
| author | Mario Torre <neugens@limasoftware.net> | 2008-05-07 14:40:39 +0000 |
|---|---|---|
| committer | Mario Torre <neugens@limasoftware.net> | 2008-05-07 14:40:39 +0000 |
| commit | b45fa805fdac0a49b3e3ddf9e4c545c828c7c744 (patch) | |
| tree | 2c90bc3de04534628aefe14126a1203b126c5949 /gnu/java | |
| parent | 13809b05ad9c542eae3af83d671996fb0415bfae (diff) | |
| download | classpath-b45fa805fdac0a49b3e3ddf9e4c545c828c7c744.tar.gz | |
2008-05-07 Mario Torre <neugens@limasoftware.net>
* gnu/java/awt/peer/x/XEventPump.java (handleEvent):
Fixed mouse dragging and movement in XEventPump. Patch from Roman Kennke.
Diffstat (limited to 'gnu/java')
| -rw-r--r-- | gnu/java/awt/peer/x/XEventPump.java | 12 |
1 files changed, 10 insertions, 2 deletions
diff --git a/gnu/java/awt/peer/x/XEventPump.java b/gnu/java/awt/peer/x/XEventPump.java index df144c827..214aefba0 100644 --- a/gnu/java/awt/peer/x/XEventPump.java +++ b/gnu/java/awt/peer/x/XEventPump.java @@ -203,18 +203,26 @@ public class XEventPump key= new Integer(mn.event_window_id); awtWindow = (Window) windows.get(key); + button = mn.detail(); + // AWT cannot handle more than 3 buttons and expects 0 instead. + if (button >= gnu.x11.Input.BUTTON3) + button = 0; + MouseEvent mm; if (drag == -1) { mm = new MouseEvent(awtWindow, MouseEvent.MOUSE_MOVED, - System.currentTimeMillis(), 0, + System.currentTimeMillis(), + KeyboardMapping.mapModifiers(mn.state()) | buttonToModifier(button), mn.event_x(), mn.event_y(), 1, false); + } else { mm = new MouseEvent(awtWindow, MouseEvent.MOUSE_DRAGGED, - System.currentTimeMillis(), 0, + System.currentTimeMillis(), + KeyboardMapping.mapModifiers(mn.state()) | buttonToModifier(drag), mn.event_x(), mn.event_y(), 1, false); } |
