Committed.
Thanks,
Mario
2008-05-07 Mario Torre <[EMAIL PROTECTED]>
* gnu/java/awt/peer/x/XEventPump.java (handleEvent):
Fixed mouse dragging and movement in XEventPump. Patch from Roman
Kennke.
--
Lima Software - http://www.limasoftware.net/
GNU Classpath Developer - http://www.classpath.org/
Fedora Ambassador - http://fedoraproject.org/wiki/MarioTorre
Jabber: [EMAIL PROTECTED]
pgp key: http://subkeys.pgp.net/ PGP Key ID: 80F240CF
Fingerprint: BA39 9666 94EC 8B73 27FA FC7C 4086 63E3 80F2 40CF
Please, support open standards:
http://opendocumentfellowship.org/petition/
http://www.nosoftwarepatents.com/
### Eclipse Workspace Patch 1.0
#P classpath
Index: gnu/java/awt/peer/x/XEventPump.java
===================================================================
RCS file: /sources/classpath/classpath/gnu/java/awt/peer/x/XEventPump.java,v
retrieving revision 1.9
diff -u -r1.9 XEventPump.java
--- gnu/java/awt/peer/x/XEventPump.java 7 May 2008 14:21:58 -0000 1.9
+++ gnu/java/awt/peer/x/XEventPump.java 7 May 2008 14:36:45 -0000
@@ -203,18 +203,26 @@
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);
}