[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[commit-cp] [bug #12748] modifiersEx mask in mouseRelease event not corr
From: |
Roman Kennke |
Subject: |
[commit-cp] [bug #12748] modifiersEx mask in mouseRelease event not correct |
Date: |
Wed, 20 Apr 2005 13:01:29 +0000 |
User-agent: |
Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.2.1) Gecko/20021204 |
URL:
<http://savannah.gnu.org/bugs/?func=detailitem&item_id=12748>
Summary: modifiersEx mask in mouseRelease event not correct
Project: classpath
Submitted by: rabbit78
Submitted on: Wed 04/20/2005 at 13:01
Category: classpath
Severity: 4 - Important
Status: None
Privacy: Public
Assigned to: None
Open/Closed: Open
Platform Version: None
_______________________________________________________
Details:
when a mouse button is pressed (mousePressed() call) then the
BUTTONX_DOWN_MASK flag in getModifiersEx() should set, and when the mouse
button is released (mouseReleased() call) then it must be cleared. In GNU
Classpath it is still set.
In contrast to the getModifiers() mask, the getModifiersEx() mask reflects
the current state, and not what has changed. I'm quite sure that the bug is
in native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkEvents.c possibly in
button_to_awt_mods() but I am not sure.
Interesting: (that's how I found it) some code does rely on this faulty
behaviour, i.e. javax.swing.plaf.basic.BasicButtonListener. I will change
this class soon, so it doesn't depend on this behaviour. But this also means,
that fixing this bug might break some stuff.
I have put together a mauve testcase for this, I will commit this soon in
gnu/testlet/java/awt/event/MouseEvent/
/Roman
_______________________________________________________
Reply to this item at:
<http://savannah.gnu.org/bugs/?func=detailitem&item_id=12748>
_______________________________________________
Message sent via/by Savannah
http://savannah.gnu.org/
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [commit-cp] [bug #12748] modifiersEx mask in mouseRelease event not correct,
Roman Kennke <=