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);
         }

Reply via email to