aboutsummaryrefslogtreecommitdiff
path: root/libjava
diff options
context:
space:
mode:
Diffstat (limited to 'libjava')
-rw-r--r--libjava/ChangeLog5
-rw-r--r--libjava/gnu/java/awt/peer/gtk/GtkListPeer.java13
2 files changed, 15 insertions, 3 deletions
diff --git a/libjava/ChangeLog b/libjava/ChangeLog
index 47b2c78..b89faeb 100644
--- a/libjava/ChangeLog
+++ b/libjava/ChangeLog
@@ -1,3 +1,8 @@
+2003-12-02 Fernando Nasser <fnasser@redhat.com>
+
+ * gnu/java/awt/peer/gtk/GtkListPeer.java (handleEvent): Fix generation
+ of ActionEvents.
+
2003-12-03 Michael Koch <konqueror@gmx.de>
* java/lang/Class.h (hack_signers): Renamed signers to hack_signers.
diff --git a/libjava/gnu/java/awt/peer/gtk/GtkListPeer.java b/libjava/gnu/java/awt/peer/gtk/GtkListPeer.java
index f90497e..31f9852 100644
--- a/libjava/gnu/java/awt/peer/gtk/GtkListPeer.java
+++ b/libjava/gnu/java/awt/peer/gtk/GtkListPeer.java
@@ -128,10 +128,12 @@ public class GtkListPeer extends GtkComponentPeer
{
if (e.getID () == MouseEvent.MOUSE_CLICKED && isEnabled ())
{
+ /* Only generate the ActionEvent on the second click of
+ a multiple click */
MouseEvent me = (MouseEvent) e;
if (!me.isConsumed ()
&& (me.getModifiers () & MouseEvent.BUTTON1_MASK) != 0
- && me.getClickCount() > 1)
+ && me.getClickCount() == 2)
postActionEvent (((List)awtComponent).getSelectedItem (),
me.getModifiers ());
}
@@ -140,8 +142,13 @@ public class GtkListPeer extends GtkComponentPeer
{
KeyEvent ke = (KeyEvent) e;
if (!ke.isConsumed () && ke.getKeyCode () == KeyEvent.VK_ENTER)
- postActionEvent (((List)awtComponent).getSelectedItem (),
- ke.getModifiers ());
+ {
+ String selectedItem = ((List)awtComponent).getSelectedItem ();
+
+ /* Enter only generates an Action event if something is selected */
+ if (selectedItem != null)
+ postActionEvent (selectedItem, ke.getModifiers ());
+ }
}
super.handleEvent (e);