diff options
author | Roman Kennke <roman@kennke.org> | 2007-10-15 18:30:08 +0000 |
---|---|---|
committer | Roman Kennke <roman@kennke.org> | 2007-10-15 18:30:08 +0000 |
commit | d1da57cc2984845f0a83c351922941522ebfdcda (patch) | |
tree | 88c368c60a89c1699d9971cbc5e0355f8652f469 | |
parent | 528b1aa653a93589b877f283691a2b36587b6fcc (diff) | |
download | classpath-d1da57cc2984845f0a83c351922941522ebfdcda.tar.gz |
2007-10-15 Roman Kennke <roman.kennke@aicas.com>
* java/awt/event/MouseEvent.java
(MouseEvent): For the no-absX/absY constructor, set the
absX/absY to 0, instead of calling into getLocationOnScreen(),
which might cause nasty deadlocks.
-rw-r--r-- | ChangeLog | 7 | ||||
-rw-r--r-- | java/awt/event/MouseEvent.java | 33 |
2 files changed, 9 insertions, 31 deletions
@@ -1,3 +1,10 @@ +2007-10-15 Roman Kennke <roman.kennke@aicas.com> + + * java/awt/event/MouseEvent.java + (MouseEvent): For the no-absX/absY constructor, set the + absX/absY to 0, instead of calling into getLocationOnScreen(), + which might cause nasty deadlocks. + 2007-10-15 Mario Torre <neugens@limasoftware.net> * javax/swing/text/DefaultStyledDocument.java (ElementBuffer.insertElement): diff --git a/java/awt/event/MouseEvent.java b/java/awt/event/MouseEvent.java index ad777e8f4..0ca833604 100644 --- a/java/awt/event/MouseEvent.java +++ b/java/awt/event/MouseEvent.java @@ -221,37 +221,8 @@ public class MouseEvent extends InputEvent int x, int y, int clickCount, boolean popupTrigger, int button) { - super(source, id, when, modifiers); - - this.x = x; - this.y = y; - this.clickCount = clickCount; - this.popupTrigger = popupTrigger; - this.button = button; - if (button < NOBUTTON || button > BUTTON3) - throw new IllegalArgumentException(); - if ((modifiers & EventModifier.OLD_MASK) != 0) - { - if ((modifiers & BUTTON1_MASK) != 0) - this.button = BUTTON1; - else if ((modifiers & BUTTON2_MASK) != 0) - this.button = BUTTON2; - else if ((modifiers & BUTTON3_MASK) != 0) - this.button = BUTTON3; - } - // clear the mouse button modifier masks if this is a button - // release event. - if (id == MOUSE_RELEASED) - this.modifiersEx &= ~(BUTTON1_DOWN_MASK - | BUTTON2_DOWN_MASK - | BUTTON3_DOWN_MASK); - - if (source != null) - { - Point screenLoc = source.getLocationOnScreen(); - absX = screenLoc.x + x; - absY = screenLoc.y + y; - } + this(source, id, when, modifiers, x, y, 0, 0, clickCount, popupTrigger, + button); } /** |