GtkListPeer.java (handleEvent): Fix generation of ActionEvents.
authorFernando Nasser <fnasser@redhat.com>
Wed, 3 Dec 2003 22:29:31 +0000 (22:29 +0000)
committerFernando Nasser <fnasser@gcc.gnu.org>
Wed, 3 Dec 2003 22:29:31 +0000 (22:29 +0000)
2003-12-02  Fernando Nasser  <fnasser@redhat.com>

        * gnu/java/awt/peer/gtk/GtkListPeer.java (handleEvent): Fix generation
        of ActionEvents.

From-SVN: r74248

libjava/ChangeLog
libjava/gnu/java/awt/peer/gtk/GtkListPeer.java

index 47b2c78927de61ef4993a20d0867d7795aaade1f..b89faeb6b2d30e2eb28f59f68802eac7b718e90d 100644 (file)
@@ -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.
index f90497e7182a2caf6b920ecf6a935432eddb0854..31f98525f23d5a6159129910ef1837c49fdc3977 100644 (file)
@@ -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);