PatchSet 5537 
Date: 2005/02/14 19:00:23
Author: robilad
Branch: HEAD
Tag: (none) 
Log:
Resynced with GNU Classpath: awt fixes

2005-02-14  Dalibor Topic  <[EMAIL PROTECTED]>

        Resynced with GNU Classpath.

        2005-02-11  Craig Black  <[EMAIL PROTECTED]>

        * gnu/java/awt/peer/gtk/GtkCheckboxMenuItem.java
        (postMenuActionEvent): Implement to notify ItemListeners.
        * java/awt/CheckboxMenuItem.java
        (dispatchEventImpl): Update state on ItemEvent.
        * java/awt/MenuItem.java
        (processActionEvent): Retarget event source.

Members: 
        ChangeLog:1.3581->1.3582 
        
libraries/javalib/gnu/java/awt/peer/gtk/GtkCheckboxMenuItemPeer.java:1.1->1.2 
        libraries/javalib/java/awt/CheckboxMenuItem.java:1.15->1.16 
        libraries/javalib/java/awt/MenuItem.java:1.18->1.19 

Index: kaffe/ChangeLog
diff -u kaffe/ChangeLog:1.3581 kaffe/ChangeLog:1.3582
--- kaffe/ChangeLog:1.3581      Mon Feb 14 18:39:57 2005
+++ kaffe/ChangeLog     Mon Feb 14 19:00:23 2005
@@ -2,6 +2,19 @@
 
        Resynced with GNU Classpath.
 
+       2005-02-11  Craig Black  <[EMAIL PROTECTED]>
+
+        * gnu/java/awt/peer/gtk/GtkCheckboxMenuItem.java
+        (postMenuActionEvent): Implement to notify ItemListeners.
+        * java/awt/CheckboxMenuItem.java
+        (dispatchEventImpl): Update state on ItemEvent.
+        * java/awt/MenuItem.java
+        (processActionEvent): Retarget event source.
+
+2005-02-14  Dalibor Topic  <[EMAIL PROTECTED]>
+
+       Resynced with GNU Classpath.
+
        2005-02-11  Thomas Fitzsimmons  <[EMAIL PROTECTED]>
 
         * jni/gtk-peer/gnu_java_awt_peer_gtk_GtkFileDialogPeer.c (create):
Index: 
kaffe/libraries/javalib/gnu/java/awt/peer/gtk/GtkCheckboxMenuItemPeer.java
diff -u 
kaffe/libraries/javalib/gnu/java/awt/peer/gtk/GtkCheckboxMenuItemPeer.java:1.1 
kaffe/libraries/javalib/gnu/java/awt/peer/gtk/GtkCheckboxMenuItemPeer.java:1.2
--- 
kaffe/libraries/javalib/gnu/java/awt/peer/gtk/GtkCheckboxMenuItemPeer.java:1.1  
    Thu Jul 22 19:20:16 2004
+++ kaffe/libraries/javalib/gnu/java/awt/peer/gtk/GtkCheckboxMenuItemPeer.java  
Mon Feb 14 19:00:25 2005
@@ -38,6 +38,8 @@
 
 package gnu.java.awt.peer.gtk;
 
+import java.awt.ItemSelectable;
+import java.awt.event.ItemEvent;
 import java.awt.CheckboxMenuItem;
 import java.awt.peer.CheckboxMenuItemPeer;
 import java.awt.peer.MenuItemPeer;
@@ -54,4 +56,15 @@
   }
 
   native public void setState (boolean t);
+
+  protected void postMenuActionEvent ()
+  {
+    CheckboxMenuItem item = (CheckboxMenuItem)awtWidget;
+    q().postEvent (new ItemEvent ((ItemSelectable)awtWidget,
+      ItemEvent.ITEM_STATE_CHANGED,
+      item.getActionCommand(),
+      item.getState() ? ItemEvent.DESELECTED : ItemEvent.SELECTED));
+
+    super.postMenuActionEvent();
+  }
 }
Index: kaffe/libraries/javalib/java/awt/CheckboxMenuItem.java
diff -u kaffe/libraries/javalib/java/awt/CheckboxMenuItem.java:1.15 
kaffe/libraries/javalib/java/awt/CheckboxMenuItem.java:1.16
--- kaffe/libraries/javalib/java/awt/CheckboxMenuItem.java:1.15 Thu Jan  6 
00:22:46 2005
+++ kaffe/libraries/javalib/java/awt/CheckboxMenuItem.java      Mon Feb 14 
19:00:26 2005
@@ -274,6 +274,14 @@
 void
 dispatchEventImpl(AWTEvent e)
 {
+  if (e instanceof ItemEvent)
+    {
+      synchronized (this)
+        {
+          state = (((ItemEvent) e).getStateChange() == ItemEvent.SELECTED);
+        }
+    }
+
   if (e.id <= ItemEvent.ITEM_LAST 
       && e.id >= ItemEvent.ITEM_FIRST
       && (item_listeners != null 
Index: kaffe/libraries/javalib/java/awt/MenuItem.java
diff -u kaffe/libraries/javalib/java/awt/MenuItem.java:1.18 
kaffe/libraries/javalib/java/awt/MenuItem.java:1.19
--- kaffe/libraries/javalib/java/awt/MenuItem.java:1.18 Thu Jan  6 00:22:46 2005
+++ kaffe/libraries/javalib/java/awt/MenuItem.java      Mon Feb 14 19:00:26 2005
@@ -563,7 +563,10 @@
 processActionEvent(ActionEvent event)
 {
   if (action_listeners != null)
-    action_listeners.actionPerformed(event);
+    {
+      event.setSource(this);
+      action_listeners.actionPerformed(event);
+    }
 }
 
 /*************************************************************************/

_______________________________________________
kaffe mailing list
kaffe@kaffe.org
http://kaffe.org/cgi-bin/mailman/listinfo/kaffe

Reply via email to