This is the mail archive of the
java-patches@gcc.gnu.org
mailing list for the Java project.
[gui][PATCH] pixbuf macro fix
- From: Thomas Fitzsimmons <fitzsim at redhat dot com>
- To: java-patches at gcc dot gnu dot org
- Date: Sun, 08 Aug 2004 18:12:57 -0400
- Subject: [gui][PATCH] pixbuf macro fix
Hi,
I committed this to java-gui-branch. It moves the pixbuf native state
table macros into gtkpeer.h so that they may be used by all the peers.
Tom
2004-08-08 Andreas Tobler <a.tobler@schweiz.ch>
Thomas Fitzsimmons <fitzsim@redhat.com>
* jni/gtk-peer/gnu_java_awt_peer_gtk_GdkPixbufDecoder.c: Move
NSA_PB macros to gtkpeer.h. Include gtkpeer.h.
* jni/gtk-peer/gtkpeer.h: Move NSA_PB macros here.
* jni/gtk-peer/gnu_java_awt_peer_gtk_GtkWindowPeer.c
(nativeSetIconImageFromDecoder): Use NSA_GET_PB_PTR macro.
Index: jni/gtk-peer/gtkpeer.h
===================================================================
RCS file: /cvs/gcc/gcc/libjava/jni/gtk-peer/gtkpeer.h,v
retrieving revision 1.12.8.5
diff -u -r1.12.8.5 gtkpeer.h
--- jni/gtk-peer/gtkpeer.h 30 Jul 2004 19:48:35 -0000 1.12.8.5
+++ jni/gtk-peer/gtkpeer.h 8 Aug 2004 21:23:02 -0000
@@ -91,6 +91,20 @@
(*env)->DeleteGlobalRef (env, *globRefPtr); \
free (globRefPtr);} while (0)
+extern struct state_table *native_pixbufdecoder_state_table;
+
+#define NSA_PB_INIT(env, clazz) \
+ native_pixbufdecoder_state_table = init_state_table (env, clazz)
+
+#define NSA_GET_PB_PTR(env, obj) \
+ get_state (env, obj, native_pixbufdecoder_state_table)
+
+#define NSA_SET_PB_PTR(env, obj, ptr) \
+ set_state (env, obj, native_pixbufdecoder_state_table, (void *)ptr)
+
+#define NSA_DEL_PB_PTR(env, obj) \
+ remove_state_slot (env, obj, native_pixbufdecoder_state_table)
+
#endif /* JVM_SUN */
struct graphics
Index: jni/gtk-peer/gnu_java_awt_peer_gtk_GtkWindowPeer.c
===================================================================
RCS file: /cvs/gcc/gcc/libjava/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkWindowPeer.c,v
retrieving revision 1.24.2.13
diff -u -r1.24.2.13 gnu_java_awt_peer_gtk_GtkWindowPeer.c
--- jni/gtk-peer/gnu_java_awt_peer_gtk_GtkWindowPeer.c 5 Aug 2004 13:59:13 -0000 1.24.2.13
+++ jni/gtk-peer/gnu_java_awt_peer_gtk_GtkWindowPeer.c 8 Aug 2004 21:23:02 -0000
@@ -44,8 +44,6 @@
#include <gdk/gdkx.h>
#include <X11/Xatom.h>
-struct state_table *native_pixbufdecoder_state_table;
-
/* FIXME: we're currently seeing the double-activation that occurs
with metacity and GTK. See
http://bugzilla.gnome.org/show_bug.cgi?id=140977 for details. */
@@ -547,7 +545,7 @@
ptr = NSA_GET_PTR (env, obj);
- loader = get_state (env, decoder, native_pixbufdecoder_state_table);
+ loader = NSA_GET_PB_PTR (env, decoder);
g_assert (loader != NULL);
gdk_threads_enter ();
Index: jni/gtk-peer/gnu_java_awt_peer_gtk_GdkPixbufDecoder.c
===================================================================
RCS file: /cvs/gcc/gcc/libjava/jni/gtk-peer/gnu_java_awt_peer_gtk_GdkPixbufDecoder.c,v
retrieving revision 1.2.10.2
diff -u -r1.2.10.2 gnu_java_awt_peer_gtk_GdkPixbufDecoder.c
--- jni/gtk-peer/gnu_java_awt_peer_gtk_GdkPixbufDecoder.c 8 Aug 2004 20:05:10 -0000 1.2.10.2
+++ jni/gtk-peer/gnu_java_awt_peer_gtk_GdkPixbufDecoder.c 8 Aug 2004 21:23:02 -0000
@@ -35,6 +35,7 @@
obligated to do so. If you do not wish to do so, delete this
exception statement from your version. */
+#include <gtkpeer.h>
#include <gdk/gdk.h>
#include <gdk-pixbuf/gdk-pixbuf.h>
#include <gdk-pixbuf/gdk-pixbuf-loader.h>
@@ -48,18 +49,6 @@
struct state_table *native_pixbufdecoder_state_table;
-#define NSA_PB_INIT(env, clazz) \
- native_pixbufdecoder_state_table = init_state_table (env, clazz)
-
-#define NSA_GET_PB_PTR(env, obj) \
- get_state (env, obj, native_pixbufdecoder_state_table)
-
-#define NSA_SET_PB_PTR(env, obj, ptr) \
- set_state (env, obj, native_pixbufdecoder_state_table, (void *)ptr)
-
-#define NSA_DEL_PB_PTR(env, obj) \
- remove_state_slot (env, obj, native_pixbufdecoder_state_table)
-
/* Union used for type punning. */
union env_union
{