<AWT Dev> hg: jdk7/awt/jdk: 6315717: Support for mouse with multiple scroll wheels and 4 or more buttons

Artem Ananiev Artem.Ananiev at Sun.COM
Fri Sep 19 00:42:14 PDT 2008


Yes, please,

Thanks,

Artem

Denis S. Fokin wrote:
> Ups...
> 
> Looks like we have a problem with the implementation.
> 
> I have got an exception
> 
> Sep 19, 2008 10:59:47 AM sun.awt.X11.XToolkit processException
> WARNING: Exception on Toolkit thread
> java.lang.ArrayIndexOutOfBoundsException: 24
>        at sun.awt.X11.XWindow.handleMotionNotify(XWindow.java:776)
>        at sun.awt.X11.XBaseWindow.dispatchEvent(XBaseWindow.java:1083)
>        at sun.awt.X11.XBaseWindow.dispatchToWindow(XBaseWindow.java:1053)
>        at sun.awt.X11.XToolkit.dispatchEvent(XToolkit.java:511)
>        at sun.awt.X11.XToolkit.run(XToolkit.java:606)
>        at sun.awt.X11.XToolkit.run(XToolkit.java:541)
>        at java.lang.Thread.run(Thread.java:674)
> 
> in the next part of the code
> 
>        //this doesn't work for extra buttons because Xsystem is sending 
> state==0 for every extra button event.
>        // we can't correct it in MouseEvent class as we done it with 
> modifiers, because exact type (DRAG|MOVE)
>        // should be passed from XWindow.
>        //TODO: eliminate it with some other value obtained w/o AWTLock.
>        for (int i = 0; i < XToolkit.getNumMouseButtons(); i++){
>            // TODO : here is the bug in WM: extra buttons doesn't have 
> state!=0 as they should.
>            if ((i != 4) && (i != 5)) {
>                mouseKeyState = mouseKeyState | (xme.get_state() & 
> XConstants.buttonsMask[i]);
>            }
>        }
> 
> Should I file a CR?
> 
> Thank you,
>              Denis.
> 
> Andrei Dmitriev wrote:
>> Thanks!
>> Oleg Sukhodolsky wrote:
>>> Congratulations!!! You have  completed  this project (finally ;)
>>>
>>> On Tue, Sep 16, 2008 at 12:26 PM,  <andrei.dmitriev at sun.com> wrote:
>>>  
>>>> Changeset: 3b9a288d7ddb
>>>> Author:    dav
>>>> Date:      2008-09-16 12:17 +0400
>>>> URL:       http://hg.openjdk.java.net/jdk7/awt/jdk/rev/3b9a288d7ddb
>>>>
>>>> 6315717: Support for mouse with multiple scroll wheels and 4 or more 
>>>> buttons
>>>> Summary: implementation of the more mouse buttons support
>>>> Reviewed-by: art, dcherepanov
>>>>
>>>> ! make/sun/xawt/mapfile-vers
>>>> ! src/share/classes/java/awt/Robot.java
>>>> ! src/share/classes/java/awt/Toolkit.java
>>>> ! src/share/classes/java/awt/doc-files/DesktopProperties.html
>>>> ! src/share/classes/java/awt/event/InputEvent.java
>>>> ! src/share/classes/java/awt/event/MouseEvent.java
>>>> ! src/share/classes/java/awt/peer/RobotPeer.java
>>>> ! src/share/classes/sun/awt/HeadlessToolkit.java
>>>> ! src/solaris/classes/sun/awt/X11/XBaseWindow.java
>>>> ! src/solaris/classes/sun/awt/X11/XConstants.java
>>>> ! src/solaris/classes/sun/awt/X11/XDragSourceContextPeer.java
>>>> ! src/solaris/classes/sun/awt/X11/XRobotPeer.java
>>>> ! src/solaris/classes/sun/awt/X11/XToolkit.java
>>>> ! src/solaris/classes/sun/awt/X11/XWindow.java
>>>> ! src/solaris/classes/sun/awt/X11/XWindowPeer.java
>>>> ! src/solaris/native/sun/awt/awt_Robot.c
>>>> ! src/windows/classes/sun/awt/windows/WRobotPeer.java
>>>> ! src/windows/classes/sun/awt/windows/WToolkit.java
>>>> ! src/windows/native/sun/windows/awt_Component.cpp
>>>> ! src/windows/native/sun/windows/awt_Component.h
>>>> ! src/windows/native/sun/windows/awt_Robot.cpp
>>>> ! src/windows/native/sun/windows/awt_Robot.h
>>>> ! src/windows/native/sun/windows/awt_Toolkit.cpp
>>>> ! src/windows/native/sun/windows/awt_Toolkit.h
>>>> ! src/windows/native/sun/windows/awt_TrayIcon.cpp
>>>> + test/java/awt/Mouse/MouseModifiersUnitTest/ExtraButtonDrag.java
>>>> + test/java/awt/Mouse/MouseModifiersUnitTest/ModifierPermutation.java
>>>> + 
>>>> test/java/awt/Mouse/MouseModifiersUnitTest/MouseModifiersUnitTest_Extra.java 
>>>>
>>>> + 
>>>> test/java/awt/Mouse/MouseModifiersUnitTest/MouseModifiersUnitTest_Standard.java 
>>>>
>>>> + 
>>>> test/java/awt/Robot/AcceptExtraMouseButtons/AcceptExtraMouseButtons.java 
>>>>
>>>> + test/java/awt/Robot/ManualInstructions/ManualInstructions.java
>>>> + test/java/awt/Robot/RobotExtraButton/RobotExtraButton.java
>>>> + test/java/awt/Toolkit/ToolkitPropertyTest/SystemPropTest_1.java
>>>> + test/java/awt/Toolkit/ToolkitPropertyTest/SystemPropTest_2.java
>>>> + test/java/awt/Toolkit/ToolkitPropertyTest/SystemPropTest_3.java
>>>> + test/java/awt/Toolkit/ToolkitPropertyTest/SystemPropTest_4.java
>>>> + test/java/awt/Toolkit/ToolkitPropertyTest/SystemPropTest_5.java
>>>> + 
>>>> test/java/awt/Toolkit/ToolkitPropertyTest/ToolkitPropertyTest_Disable.java 
>>>>
>>>> + 
>>>> test/java/awt/Toolkit/ToolkitPropertyTest/ToolkitPropertyTest_Enable.java 
>>>>
>>>> + 
>>>> test/java/awt/event/InputEvent/ButtonArraysEquality/ButtonArraysEquality.java 
>>>>
>>>> + 
>>>> test/java/awt/event/MouseEvent/AcceptExtraButton/AcceptExtraButton.java
>>>> + test/java/awt/event/MouseEvent/CTORRestrictions/CTORRestrictions.java
>>>> + 
>>>> test/java/awt/event/MouseEvent/CTORRestrictions/CTORRestrictions_Disable.java 
>>>>
>>>> + 
>>>> test/java/awt/event/MouseEvent/CheckGetMaskForButton/CheckGetMaskForButton.java 
>>>>
>>>>
>>>>
>>>>     
>>
> 



More information about the awt-dev mailing list