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]

Patch: gtk peer - static methods


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Hi list,


I just commited the attached patch to merge a fix done by Mark 
Wielaard in GNU classpath to mainline.

This should go into java-gui-branch too.


Michael


2004-06-01  Mark Wielaard  <mark@klomp.org>

	* gnu/java/awt/peer/gtk/GtkComponentPeer.java (requestFocus):
	Implement by calling gtkRequestFocus.
	(gtkRequestFocus): New native method.
	* native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkComponentPeer.c
	(Java_gnu_java_awt_peer_gtk_GtkComponentPeer_requestFocus__):
	Renamed to ...
	(Java_gnu_java_awt_peer_gtk_GtkComponentPeer_gtkRequestFocus):
	New function name.
	(filter_expose_event_handler):
	Mark static.
	* native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkPopupMenuPeer.c
	(menu_pos): Mark static.
- -- 
Homepage: http://www.worldforge.org/
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.2.4 (GNU/Linux)

iD8DBQFAu7orWSOgCCdjSDsRAuzgAJoD+nlIbpX0XaUjnyHnU38bAL2iXACgoc/0
IRxjARb7I5xE9AGkUEkxnKw=
=paSn
-----END PGP SIGNATURE-----
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.18
diff -u -b -B -r1.18 GtkComponentPeer.java
--- gnu/java/awt/peer/gtk/GtkComponentPeer.java	27 May 2004 06:17:34 -0000	1.18
+++ gnu/java/awt/peer/gtk/GtkComponentPeer.java	31 May 2004 23:02:36 -0000
@@ -353,10 +353,14 @@
 
   public void requestFocus ()
   {
-    gtkWidgetRequestFocus ();
-    postFocusEvent (FocusEvent.FOCUS_GAINED, false);
+    gtkRequestFocus();
   }
 
+  // Called from requestFocus, we don't want to make requestFocus itself
+  // native since several JNI header generators have difficulties with
+  // overridden and/or miranda methods. (Bug in gcjh < 3.5.)
+  native private void gtkRequestFocus ();
+
   public void reshape (int x, int y, int width, int height) 
   {
     setBounds (x, y, width, height);
Index: jni/gtk-peer/gnu_java_awt_peer_gtk_GtkComponentPeer.c
===================================================================
RCS file: /cvs/gcc/gcc/libjava/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkComponentPeer.c,v
retrieving revision 1.22
diff -u -b -B -r1.22 gnu_java_awt_peer_gtk_GtkComponentPeer.c
--- jni/gtk-peer/gnu_java_awt_peer_gtk_GtkComponentPeer.c	27 May 2004 06:17:43 -0000	1.22
+++ jni/gtk-peer/gnu_java_awt_peer_gtk_GtkComponentPeer.c	31 May 2004 23:02:36 -0000
@@ -472,7 +472,7 @@
 }
 
 JNIEXPORT void JNICALL
-Java_gnu_java_awt_peer_gtk_GtkComponentPeer_gtkWidgetRequestFocus
+Java_gnu_java_awt_peer_gtk_GtkComponentPeer_gtkRequestFocus
   (JNIEnv *env, jobject obj)
 {
   void *ptr;
@@ -1056,7 +1056,7 @@
   (*env)->ReleaseStringUTFChars (env, jname, name);
 }
 
-gboolean
+static gboolean
 filter_expose_event_handler (GtkWidget *widget, GdkEvent *event, jobject peer)
 {
   /*
Index: jni/gtk-peer/gnu_java_awt_peer_gtk_GtkPopupMenuPeer.c
===================================================================
RCS file: /cvs/gcc/gcc/libjava/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkPopupMenuPeer.c,v
retrieving revision 1.6
diff -u -b -B -r1.6 gnu_java_awt_peer_gtk_GtkPopupMenuPeer.c
--- jni/gtk-peer/gnu_java_awt_peer_gtk_GtkPopupMenuPeer.c	27 May 2004 06:17:44 -0000	1.6
+++ jni/gtk-peer/gnu_java_awt_peer_gtk_GtkPopupMenuPeer.c	31 May 2004 23:02:36 -0000
@@ -39,15 +39,13 @@
 #include "gtkpeer.h"
 #include "gnu_java_awt_peer_gtk_GtkPopupMenuPeer.h"
 
-void menu_pos (GtkMenu *, gint *, gint *, gboolean *, gpointer);
-
 struct pos
 {
   gint x;
   gint y;
 };
 
-void 
+static void 
 menu_pos (GtkMenu *menu __attribute__((unused)),
 	  gint *x, gint *y,
 	  gboolean *push_in,
@@ -93,7 +91,8 @@
   gdk_threads_enter ();
   menu = GTK_MENU (GTK_MENU_ITEM (ptr1)->submenu);
   gtk_menu_set_accel_group (menu, gtk_accel_group_new ());
-  /* FIXME: update this to use GTK-2.4 GtkActions. */
+  /* FIXME: _gtk_accel_group_attach is a GTK-private function, so
+     we'll need a different approach here: */
 #if 0
   _gtk_accel_group_attach (gtk_menu_get_accel_group (menu),
 			   G_OBJECT (gtk_widget_get_toplevel (ptr2)));

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