This is the mail archive of the java-patches@gcc.gnu.org mailing list for the Java project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[gui][PATCH] fix peer references to system event queue


Hi,

In many places in the peers we were referring directly to the
GtkGenericPeer's q field.  This patch replaces these references with a
method call, to guarantee that q is initialized before it is used.
Committed to java-gui-branch.

Tom

2005-01-04  Thomas Fitzsimmons  <fitzsim@redhat.com>

	* gnu/java/awt/peer/gtk/GtkComponentPeer.java: Replace direct
	references to event queue q with method call q().
	* gnu/java/awt/peer/gtk/GtkDialogPeer.java: Likewise.
	* gnu/java/awt/peer/gtk/GtkFramePeer.java: Likewise.
	* gnu/java/awt/peer/gtk/GtkScrollbarPeer.java: Likewise.
	* gnu/java/awt/peer/gtk/GtkTextComponentPeer.java: Likewise.
	* gnu/java/awt/peer/gtk/GtkWindowPeer.java: Likewise.
	* gnu/java/awt/peer/gtk/GtkGenericPeer.java: Likewise.
	(q): New method.

Index: gnu/java/awt/peer/gtk/GtkComponentPeer.java
===================================================================
RCS file: /cvs/gcc/gcc/libjava/gnu/java/awt/peer/gtk/GtkComponentPeer.java,v
retrieving revision 1.16.2.26
diff -u -r1.16.2.26 GtkComponentPeer.java
--- gnu/java/awt/peer/gtk/GtkComponentPeer.java	26 Dec 2004 14:09:44 -0000	1.16.2.26
+++ gnu/java/awt/peer/gtk/GtkComponentPeer.java	5 Jan 2005 00:49:01 -0000
@@ -386,7 +386,7 @@
     if (x == 0 && y == 0 && width == 0 && height == 0)
       return;
 
-    q.postEvent (new PaintEvent (awtComponent, PaintEvent.UPDATE,
+    q().postEvent (new PaintEvent (awtComponent, PaintEvent.UPDATE,
                                  new Rectangle (x, y, width, height)));
   }
 
@@ -508,14 +508,14 @@
   protected void postMouseEvent(int id, long when, int mods, int x, int y, 
 				int clickCount, boolean popupTrigger) 
   {
-    q.postEvent(new MouseEvent(awtComponent, id, when, mods, x, y, 
+    q().postEvent(new MouseEvent(awtComponent, id, when, mods, x, y, 
 			       clickCount, popupTrigger));
   }
 
   protected void postExposeEvent (int x, int y, int width, int height)
   {
     if (!isInRepaint)
-      q.postEvent (new PaintEvent (awtComponent, PaintEvent.PAINT,
+      q().postEvent (new PaintEvent (awtComponent, PaintEvent.PAINT,
                                    new Rectangle (x, y, width, height)));
   }
 
@@ -535,23 +535,23 @@
       {
         synchronized (q)
           {
-            q.postEvent (keyEvent);
-            q.postEvent (new KeyEvent (awtComponent, KeyEvent.KEY_TYPED, when, mods,
+            q().postEvent (keyEvent);
+            q().postEvent (new KeyEvent (awtComponent, KeyEvent.KEY_TYPED, when, mods,
                                         KeyEvent.VK_UNDEFINED, keyChar, keyLocation));
           }
       }
     else
-      q.postEvent (keyEvent);
+      q().postEvent (keyEvent);
   }
 
   protected void postFocusEvent (int id, boolean temporary)
   {
-    q.postEvent (new FocusEvent (awtComponent, id, temporary));
+    q().postEvent (new FocusEvent (awtComponent, id, temporary));
   }
 
   protected void postItemEvent (Object item, int stateChange)
   {
-    q.postEvent (new ItemEvent ((ItemSelectable)awtComponent, 
+    q().postEvent (new ItemEvent ((ItemSelectable)awtComponent, 
 				ItemEvent.ITEM_STATE_CHANGED,
 				item, stateChange));
   }
Index: gnu/java/awt/peer/gtk/GtkDialogPeer.java
===================================================================
RCS file: /cvs/gcc/gcc/libjava/gnu/java/awt/peer/gtk/GtkDialogPeer.java,v
retrieving revision 1.9.8.4
diff -u -r1.9.8.4 GtkDialogPeer.java
--- gnu/java/awt/peer/gtk/GtkDialogPeer.java	7 Oct 2004 07:20:31 -0000	1.9.8.4
+++ gnu/java/awt/peer/gtk/GtkDialogPeer.java	5 Jan 2005 00:49:01 -0000
@@ -76,7 +76,7 @@
   protected void postExposeEvent (int x, int y, int width, int height)
   {
     if (!isInRepaint)
-      q.postEvent (new PaintEvent (awtComponent, PaintEvent.PAINT,
+      q().postEvent (new PaintEvent (awtComponent, PaintEvent.PAINT,
                                    new Rectangle (x + insets.left, 
                                                   y + insets.top, 
                                                   width, height)));
Index: gnu/java/awt/peer/gtk/GtkFramePeer.java
===================================================================
RCS file: /cvs/gcc/gcc/libjava/gnu/java/awt/peer/gtk/GtkFramePeer.java,v
retrieving revision 1.17.2.12
diff -u -r1.17.2.12 GtkFramePeer.java
--- gnu/java/awt/peer/gtk/GtkFramePeer.java	9 Dec 2004 21:36:46 -0000	1.17.2.12
+++ gnu/java/awt/peer/gtk/GtkFramePeer.java	5 Jan 2005 00:49:01 -0000
@@ -253,7 +253,7 @@
   protected void postExposeEvent (int x, int y, int width, int height)
   {
     if (!isInRepaint)
-      q.postEvent (new PaintEvent (awtComponent, PaintEvent.PAINT,
+      q().postEvent (new PaintEvent (awtComponent, PaintEvent.PAINT,
                                    new Rectangle (x + insets.left, 
                                                   y + insets.top, 
                                                   width, height)));
Index: gnu/java/awt/peer/gtk/GtkGenericPeer.java
===================================================================
RCS file: /cvs/gcc/gcc/libjava/gnu/java/awt/peer/gtk/GtkGenericPeer.java,v
retrieving revision 1.2.18.1
diff -u -r1.2.18.1 GtkGenericPeer.java
--- gnu/java/awt/peer/gtk/GtkGenericPeer.java	2 Sep 2004 21:26:21 -0000	1.2.18.1
+++ gnu/java/awt/peer/gtk/GtkGenericPeer.java	5 Jan 2005 00:49:01 -0000
@@ -39,6 +39,7 @@
 package gnu.java.awt.peer.gtk;
 
 import java.awt.EventQueue;
+import java.awt.Toolkit;
 import java.awt.event.ActionEvent;
 
 public class GtkGenericPeer
@@ -57,6 +58,11 @@
   // Dispose of our native state.
   public native void dispose ();
 
+  static EventQueue q ()
+  {
+    return Toolkit.getDefaultToolkit ().getSystemEventQueue ();
+  }
+
   protected GtkGenericPeer (Object awtWidget)
   {
     this.awtWidget = awtWidget;
@@ -70,7 +76,7 @@
 
   protected void postActionEvent (String command, int mods) 
   {
-    q.postEvent (new ActionEvent (awtWidget, ActionEvent.ACTION_PERFORMED, 
+    q().postEvent (new ActionEvent (awtWidget, ActionEvent.ACTION_PERFORMED, 
 				  command, mods));
   }
 
Index: gnu/java/awt/peer/gtk/GtkScrollbarPeer.java
===================================================================
RCS file: /cvs/gcc/gcc/libjava/gnu/java/awt/peer/gtk/GtkScrollbarPeer.java,v
retrieving revision 1.3.8.1
diff -u -r1.3.8.1 GtkScrollbarPeer.java
--- gnu/java/awt/peer/gtk/GtkScrollbarPeer.java	7 Oct 2004 22:11:57 -0000	1.3.8.1
+++ gnu/java/awt/peer/gtk/GtkScrollbarPeer.java	5 Jan 2005 00:49:01 -0000
@@ -73,7 +73,7 @@
 
   protected void postAdjustmentEvent (int type, int value)
   {
-    q.postEvent (new AdjustmentEvent ((Adjustable)awtComponent, 
+    q().postEvent (new AdjustmentEvent ((Adjustable)awtComponent, 
 				      AdjustmentEvent.ADJUSTMENT_VALUE_CHANGED,
 				      type, value));
   }
Index: gnu/java/awt/peer/gtk/GtkTextComponentPeer.java
===================================================================
RCS file: /cvs/gcc/gcc/libjava/gnu/java/awt/peer/gtk/GtkTextComponentPeer.java,v
retrieving revision 1.7.8.1
diff -u -r1.7.8.1 GtkTextComponentPeer.java
--- gnu/java/awt/peer/gtk/GtkTextComponentPeer.java	9 Jun 2004 21:02:35 -0000	1.7.8.1
+++ gnu/java/awt/peer/gtk/GtkTextComponentPeer.java	5 Jan 2005 00:49:01 -0000
@@ -85,6 +85,6 @@
 
   protected void postTextEvent ()
   {
-    q.postEvent (new TextEvent (awtComponent, TextEvent.TEXT_VALUE_CHANGED));
+    q().postEvent (new TextEvent (awtComponent, TextEvent.TEXT_VALUE_CHANGED));
   }
 }
Index: gnu/java/awt/peer/gtk/GtkWindowPeer.java
===================================================================
RCS file: /cvs/gcc/gcc/libjava/gnu/java/awt/peer/gtk/GtkWindowPeer.java,v
retrieving revision 1.10.8.4
diff -u -r1.10.8.4 GtkWindowPeer.java
--- gnu/java/awt/peer/gtk/GtkWindowPeer.java	9 Dec 2004 21:36:46 -0000	1.10.8.4
+++ gnu/java/awt/peer/gtk/GtkWindowPeer.java	5 Jan 2005 00:49:01 -0000
@@ -194,7 +194,7 @@
 	// Post a WINDOW_OPENED event the first time this window is shown.
 	if (!hasBeenShown)
 	  {
-	    q.postEvent (new WindowEvent ((Window) awtComponent, id,
+	    q().postEvent (new WindowEvent ((Window) awtComponent, id,
 					  opposite));
 	    hasBeenShown = true;
 	  }
@@ -203,12 +203,12 @@
       {
 	if (oldState != newState)
 	  {
-	    q.postEvent (new WindowEvent ((Window) awtComponent, id, opposite,
+	    q().postEvent (new WindowEvent ((Window) awtComponent, id, opposite,
 					  oldState, newState));
 	    oldState = newState;
 	  }
       }
     else
-      q.postEvent (new WindowEvent ((Window) awtComponent, id, opposite));
+      q().postEvent (new WindowEvent ((Window) awtComponent, id, opposite));
   }
 }

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]