2003-12-02 Fernando Nasser <fnasser@redhat.com>
authorfnasser <fnasser@138bc75d-0d04-0410-961f-82ee72b054a4>
Wed, 3 Dec 2003 22:29:31 +0000 (22:29 +0000)
committerfnasser <fnasser@138bc75d-0d04-0410-961f-82ee72b054a4>
Wed, 3 Dec 2003 22:29:31 +0000 (22:29 +0000)
        * gnu/java/awt/peer/gtk/GtkListPeer.java (handleEvent): Fix generation
        of ActionEvents.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@74248 138bc75d-0d04-0410-961f-82ee72b054a4

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

index 47b2c78..b89faeb 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 f90497e..31f9852 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);