[kaffe] CVS kaffe (robilad): Resynced with GNU classpath: AWT peer fixes

Kaffe CVS cvs-commits at kaffe.org
Mon Jul 25 09:09:18 PDT 2005


PatchSet 6766 
Date: 2005/07/25 16:03:20
Author: robilad
Branch: HEAD
Tag: (none) 
Log:
Resynced with GNU classpath: AWT peer fixes

Members: 
	ChangeLog:1.4291->1.4292 
	libraries/clib/awt/classpath-gtk/gtk-peer/gnu_java_awt_peer_gtk_GdkFontPeer.c:1.7->1.8 
	libraries/clib/awt/classpath-gtk/gtk-peer/gnu_java_awt_peer_gtk_GdkGraphics.c:1.14->1.15 
	libraries/clib/awt/classpath-gtk/gtk-peer/gnu_java_awt_peer_gtk_GdkGraphics2D.c:1.15->1.16 
	libraries/clib/awt/classpath-gtk/gtk-peer/gnu_java_awt_peer_gtk_GdkGraphicsEnvironment.c:1.3->1.4 
	libraries/clib/awt/classpath-gtk/gtk-peer/gnu_java_awt_peer_gtk_GdkPixbufDecoder.c:1.12->1.13 
	libraries/clib/awt/classpath-gtk/gtk-peer/gnu_java_awt_peer_gtk_GdkRobotPeer.c:1.4->1.5 
	libraries/clib/awt/classpath-gtk/gtk-peer/gnu_java_awt_peer_gtk_GdkTextLayout.c:1.5->1.6 
	libraries/clib/awt/classpath-gtk/gtk-peer/gnu_java_awt_peer_gtk_GtkButtonPeer.c:1.9->1.10 
	libraries/clib/awt/classpath-gtk/gtk-peer/gnu_java_awt_peer_gtk_GtkCheckboxGroupPeer.c:1.3->1.4 
	libraries/clib/awt/classpath-gtk/gtk-peer/gnu_java_awt_peer_gtk_GtkCheckboxMenuItemPeer.c:1.3->1.4 
	libraries/clib/awt/classpath-gtk/gtk-peer/gnu_java_awt_peer_gtk_GtkCheckboxPeer.c:1.5->1.6 
	libraries/clib/awt/classpath-gtk/gtk-peer/gnu_java_awt_peer_gtk_GtkChoicePeer.c:1.8->1.9 
	libraries/clib/awt/classpath-gtk/gtk-peer/gnu_java_awt_peer_gtk_GtkClipboard.c:1.4->1.5 
	libraries/clib/awt/classpath-gtk/gtk-peer/gnu_java_awt_peer_gtk_GtkComponentPeer.c:1.14->1.15 
	libraries/clib/awt/classpath-gtk/gtk-peer/gnu_java_awt_peer_gtk_GtkEmbeddedWindowPeer.c:1.3->1.4 
	libraries/clib/awt/classpath-gtk/gtk-peer/gnu_java_awt_peer_gtk_GtkFileDialogPeer.c:1.11->1.12 
	libraries/clib/awt/classpath-gtk/gtk-peer/gnu_java_awt_peer_gtk_GtkFramePeer.c:1.6->1.7 
	libraries/clib/awt/classpath-gtk/gtk-peer/gnu_java_awt_peer_gtk_GtkImage.c:1.3->1.4 
	libraries/clib/awt/classpath-gtk/gtk-peer/gnu_java_awt_peer_gtk_GtkLabelPeer.c:1.5->1.6 
	libraries/clib/awt/classpath-gtk/gtk-peer/gnu_java_awt_peer_gtk_GtkListPeer.c:1.7->1.8 
	libraries/clib/awt/classpath-gtk/gtk-peer/gnu_java_awt_peer_gtk_GtkMenuBarPeer.c:1.6->1.7 
	libraries/clib/awt/classpath-gtk/gtk-peer/gnu_java_awt_peer_gtk_GtkMenuItemPeer.c:1.5->1.6 
	libraries/clib/awt/classpath-gtk/gtk-peer/gnu_java_awt_peer_gtk_GtkMenuPeer.c:1.7->1.8 
	libraries/clib/awt/classpath-gtk/gtk-peer/gnu_java_awt_peer_gtk_GtkPanelPeer.c:1.6->1.7 
	libraries/clib/awt/classpath-gtk/gtk-peer/gnu_java_awt_peer_gtk_GtkPopupMenuPeer.c:1.3->1.4 
	libraries/clib/awt/classpath-gtk/gtk-peer/gnu_java_awt_peer_gtk_GtkScrollPanePeer.c:1.3->1.4 
	libraries/clib/awt/classpath-gtk/gtk-peer/gnu_java_awt_peer_gtk_GtkToolkit.c:1.12->1.13 
	libraries/clib/awt/classpath-gtk/gtk-peer/gnu_java_awt_peer_gtk_GtkWindowPeer.c:1.20->1.21 
	libraries/javalib/gnu/java/awt/peer/gtk/GtkChoicePeer.java:1.6->1.7 

Index: kaffe/ChangeLog
diff -u kaffe/ChangeLog:1.4291 kaffe/ChangeLog:1.4292
--- kaffe/ChangeLog:1.4291	Mon Jul 25 14:40:23 2005
+++ kaffe/ChangeLog	Mon Jul 25 16:03:20 2005
@@ -2,6 +2,49 @@
 
 	Resynced with GNU Classpath.
 
+	2005-07-11  Thomas Fitzsimmons  <fitzsim at redhat.com>
+
+        * native/jni/gtk-peer/gnu_java_awt_peer_gtk_GdkGraphics2D.c:
+        Replace occurrences of malloc with g_malloc and free with g_free.
+
+        * gnu/java/awt/peer/gtk/GtkChoicePeer.java (connectSignals): New method.
+        * native/jni/gtk-peer/gnu_java_awt_peer_gtk_GdkFontPeer.c: Move
+        gdk_threads_enter calls to start of method bodies.  Move
+        gdk_threads_leave calls to end of method definitions bodies.
+        * native/jni/gtk-peer/gnu_java_awt_peer_gtk_GdkGraphics.c: Likewise.
+        * native/jni/gtk-peer/gnu_java_awt_peer_gtk_GdkGraphics2D.c: Likewise.
+        * native/jni/gtk-peer/gnu_java_awt_peer_gtk_GdkGraphicsEnvironment.c: Likewise.
+        * native/jni/gtk-peer/gnu_java_awt_peer_gtk_GdkPixbufDecoder.c: Likewise.
+        * native/jni/gtk-peer/gnu_java_awt_peer_gtk_GdkRobotPeer.c: Likewise.
+        * native/jni/gtk-peer/gnu_java_awt_peer_gtk_GdkTextLayout.c: Likewise.
+        * native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkButtonPeer.c: Likewise.
+        * native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkCanvasPeer.c: Likewise.
+        * native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkCheckboxGroupPeer.c: Likewise.
+        * native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkCheckboxMenuItemPeer.c: Likewise.
+        * native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkCheckboxPeer.c: Likewise.
+        * native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkChoicePeer.c: Likewise.
+        * native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkClipboard.c: Likewise.
+        * native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkComponentPeer.c: Likewise.
+        * native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkEmbeddedWindowPeer.c: Likewise.
+        * native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkFileDialogPeer.c: Likewise.
+        * native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkFramePeer.c: Likewise.
+        * native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkGenericPeer.c: Likewise.
+        * native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkImage.c: Likewise.
+        * native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkLabelPeer.c: Likewise.
+        * native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkListPeer.c: Likewise.
+        * native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkMenuBarPeer.c: Likewise.
+        * native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkMenuItemPeer.c: Likewise.
+        * native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkMenuPeer.c: Likewise.
+        * native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkPanelPeer.c: Likewise.
+        * native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkPopupMenuPeer.c: Likewise.
+        * native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkScrollPanePeer.c: Likewise.
+        * native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkToolkit.c: Likewise.
+        * native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkWindowPeer.c: Likewise.
+
+2005-07-25  Dalibor Topic  <robilad at kaffe.org>
+
+	Resynced with GNU Classpath.
+
 	2005-07-11  David Gilbert  <david.gilbert at object-refinery.com>
 
         * java/lang/IllegalAccessException.java: fixed minor API doc errors,
Index: kaffe/libraries/clib/awt/classpath-gtk/gtk-peer/gnu_java_awt_peer_gtk_GdkFontPeer.c
diff -u kaffe/libraries/clib/awt/classpath-gtk/gtk-peer/gnu_java_awt_peer_gtk_GdkFontPeer.c:1.7 kaffe/libraries/clib/awt/classpath-gtk/gtk-peer/gnu_java_awt_peer_gtk_GdkFontPeer.c:1.8
--- kaffe/libraries/clib/awt/classpath-gtk/gtk-peer/gnu_java_awt_peer_gtk_GdkFontPeer.c:1.7	Mon Jul  4 00:04:00 2005
+++ kaffe/libraries/clib/awt/classpath-gtk/gtk-peer/gnu_java_awt_peer_gtk_GdkFontPeer.c	Mon Jul 25 16:03:22 2005
@@ -75,11 +75,14 @@
   (JNIEnv *env, jobject self)
 {
   struct peerfont *pfont = NULL;
+
   gdk_threads_enter ();
+
   g_assert (self != NULL);
   pfont = (struct peerfont *) g_malloc0 (sizeof (struct peerfont));
   g_assert (pfont != NULL);
   NSA_SET_FONT_PTR (env, self, pfont);
+
   gdk_threads_leave ();
 }
 
@@ -91,6 +94,7 @@
   struct peerfont *pfont = NULL;
 
   gdk_threads_enter ();
+
   pfont = (struct peerfont *)NSA_DEL_FONT_PTR (env, self);
   g_assert (pfont != NULL);
   if (pfont->layout != NULL)
@@ -102,6 +106,7 @@
   if (pfont->desc != NULL)
     pango_font_description_free (pfont->desc);
   g_free (pfont);
+
   gdk_threads_leave ();
 }
 
@@ -114,11 +119,13 @@
    jobject fontRenderContext)
 {
   struct peerfont *pfont = NULL;
-  GList *items = NULL, *i = NULL;
+  GList *items = NULL;
+  GList *i = NULL;
   gchar *str = NULL;
-  int len, j;
-  double *native_extents;
-  int *native_codes;
+  int len = 0;
+  int j = 0;
+  double *native_extents = NULL;
+  int *native_codes = NULL;
   jintArray java_codes = NULL;
   jdoubleArray java_extents = NULL;
 
@@ -227,7 +234,7 @@
 {
   struct peerfont *pfont = NULL;
   jdouble *native_metrics = NULL;
-  PangoFontMetrics *pango_metrics;
+  PangoFontMetrics *pango_metrics = NULL;
 
   gdk_threads_enter();
 
@@ -329,9 +336,10 @@
   struct peerfont *pfont = NULL;
   char const *family_name = NULL;
   enum java_awt_font_style style;
-  PangoFT2FontMap *ft2_map;
+  PangoFT2FontMap *ft2_map = NULL;
 
   gdk_threads_enter ();
+
   style = (enum java_awt_font_style) style_int;
 
   g_assert (self != NULL);
Index: kaffe/libraries/clib/awt/classpath-gtk/gtk-peer/gnu_java_awt_peer_gtk_GdkGraphics.c
diff -u kaffe/libraries/clib/awt/classpath-gtk/gtk-peer/gnu_java_awt_peer_gtk_GdkGraphics.c:1.14 kaffe/libraries/clib/awt/classpath-gtk/gtk-peer/gnu_java_awt_peer_gtk_GdkGraphics.c:1.15
--- kaffe/libraries/clib/awt/classpath-gtk/gtk-peer/gnu_java_awt_peer_gtk_GdkGraphics.c:1.14	Mon Jul  4 00:04:00 2005
+++ kaffe/libraries/clib/awt/classpath-gtk/gtk-peer/gnu_java_awt_peer_gtk_GdkGraphics.c	Mon Jul 25 16:03:22 2005
@@ -46,21 +46,22 @@
 GdkPoint *
 translate_points (JNIEnv *env, jintArray xpoints, jintArray ypoints, 
 		  jint npoints, jint x_offset, jint y_offset);
-static void realize_cb (GtkWidget *widget, jobject peer);
+static void realize_cb (GtkWidget *widget, jobject jgraphics);
 
 JNIEXPORT void JNICALL
 Java_gnu_java_awt_peer_gtk_GdkGraphics_copyState
   (JNIEnv *env, jobject obj, jobject old)
 {
-  struct graphics *g, *g_old;
+  struct graphics *g = NULL;
+  struct graphics *g_old = NULL;
 
-  g = (struct graphics *) malloc (sizeof (struct graphics));
+  gdk_threads_enter ();
+
+  g = (struct graphics *) g_malloc (sizeof (struct graphics));
   g_old = (struct graphics *) NSA_GET_PTR (env, old);
 
   *g = *g_old;
 
-  gdk_threads_enter ();
-
   g->gc = gdk_gc_new (g->drawable);
   gdk_gc_copy (g->gc, g_old->gc);
 
@@ -71,56 +72,58 @@
 
   gdk_colormap_ref (g->cm);
 
-  gdk_threads_leave ();
-
   NSA_SET_PTR (env, obj, g);
+
+  gdk_threads_leave ();
 }
 
 JNIEXPORT void JNICALL
 Java_gnu_java_awt_peer_gtk_GdkGraphics_initState__II
   (JNIEnv *env, jobject obj, jint width, jint height)
 {
-  struct graphics *g;
+  struct graphics *g = NULL;
 
-  g = (struct graphics *) malloc (sizeof (struct graphics));
+  gdk_threads_enter ();
+
+  g = (struct graphics *) g_malloc (sizeof (struct graphics));
   g->x_offset = g->y_offset = 0;
 
-  gdk_threads_enter ();
   g->drawable = (GdkDrawable *) gdk_pixmap_new (NULL, width, height, 
 						gdk_rgb_get_visual ()->depth);
   g->cm = gdk_rgb_get_cmap ();
   gdk_colormap_ref (g->cm);
   g->gc = gdk_gc_new (g->drawable);
 
-  gdk_threads_leave ();
-
   NSA_SET_PTR (env, obj, g);
+
+  gdk_threads_leave ();
 }
 
 JNIEXPORT void JNICALL
 Java_gnu_java_awt_peer_gtk_GdkGraphics_initFromImage
    (JNIEnv *env, jobject obj, jobject source)
 {
-  struct graphics *g;
-  GdkPixmap *pixmap = 
-    gnu_java_awt_peer_gtk_GtkImage_getPixmap(env, source);
+  struct graphics *g = NULL;
+  GdkPixmap *pixmap = NULL;
+
+  gdk_threads_enter ();
+
+  pixmap = gnu_java_awt_peer_gtk_GtkImage_getPixmap(env, source);
   g_assert(pixmap != NULL);
   gdk_pixmap_ref (pixmap);
 
-  g = (struct graphics *) malloc (sizeof (struct graphics));
+  g = (struct graphics *) g_malloc (sizeof (struct graphics));
   g->x_offset = g->y_offset = 0;
 
-  gdk_threads_enter ();
-
   g->drawable = (GdkDrawable *)pixmap;
 
   g->cm = gdk_drawable_get_colormap (g->drawable);
   gdk_colormap_ref (g->cm);
   g->gc = gdk_gc_new (g->drawable);
 
-  gdk_threads_leave ();
-
   NSA_SET_PTR (env, obj, g);
+
+  gdk_threads_leave ();
 }
 
 /* copy the native state of the peer (GtkWidget *) to the native state
@@ -129,16 +132,18 @@
 Java_gnu_java_awt_peer_gtk_GdkGraphics_initState__Lgnu_java_awt_peer_gtk_GtkComponentPeer_2
   (JNIEnv *env, jobject obj, jobject peer)
 {
-  struct graphics *g = (struct graphics *) malloc (sizeof (struct graphics));
-  void *ptr;
-  GtkWidget *widget;
+  struct graphics *g = NULL;
+  void *ptr = NULL;
+  GtkWidget *widget = NULL;
   GdkColor color;
 
-  ptr = NSA_GET_PTR (env, peer);
-  g->x_offset = g->y_offset = 0;
-
   gdk_threads_enter ();
 
+  g = (struct graphics *) g_malloc (sizeof (struct graphics));
+  ptr = NSA_GET_PTR (env, peer);
+  g->x_offset = 0;
+  g->y_offset = 0;
+
   widget = GTK_WIDGET (ptr);
   g->drawable = (GdkDrawable *) widget->window;
 
@@ -149,25 +154,25 @@
   gdk_gc_copy (g->gc, widget->style->fg_gc[GTK_STATE_NORMAL]);
   color = widget->style->fg[GTK_STATE_NORMAL];
 
-  gdk_threads_leave ();
-
   NSA_SET_PTR (env, obj, g);
+
+  gdk_threads_leave ();
 }
 
 JNIEXPORT void JNICALL
 Java_gnu_java_awt_peer_gtk_GdkGraphics_connectSignals
   (JNIEnv *env, jobject obj, jobject peer)
 {
-  void *ptr;
-  jobject *gref;
+  void *ptr = NULL;
+  jobject *gref = NULL;
+
+  gdk_threads_enter ();
 
   NSA_SET_GLOBAL_REF (env, obj);
   gref = NSA_GET_GLOBAL_REF (env, obj);
 
   ptr = NSA_GET_PTR (env, peer);
 
-  gdk_threads_enter ();
-
   g_signal_connect_after (G_OBJECT (ptr), "realize",
                           G_CALLBACK (realize_cb), *gref);
 
@@ -178,14 +183,19 @@
 Java_gnu_java_awt_peer_gtk_GdkGraphics_dispose
   (JNIEnv *env, jobject obj)
 {
-  struct graphics *g;
+  struct graphics *g = NULL;
+
+  gdk_threads_enter ();
 
-  
   g = (struct graphics *) NSA_DEL_PTR (env, obj);
 
-  if (!g) return;		/* dispose has been called more than once */
-  
-  gdk_threads_enter ();
+  /* check if dispose has been called already */
+  if (!g)
+    {
+      gdk_threads_leave ();
+      return;
+    }
+
   XFlush (GDK_DISPLAY ());
 
   gdk_gc_destroy (g->gc);
@@ -197,22 +207,21 @@
 
   gdk_colormap_unref (g->cm);
 
-  gdk_threads_leave ();
-
+  g_free (g);
 
-  free (g);
+  gdk_threads_leave ();
 }
 
 JNIEXPORT void JNICALL
 Java_gnu_java_awt_peer_gtk_GdkGraphics_translateNative
   (JNIEnv *env, jobject obj, jint x, jint y)
 {
-  struct graphics *g;
-
-  g = (struct graphics *) NSA_GET_PTR (env, obj);
+  struct graphics *g = NULL;
 
   gdk_threads_enter ();
 
+  g = (struct graphics *) NSA_GET_PTR (env, obj);
+
   g->x_offset += x;
   g->y_offset += y;
 
@@ -224,10 +233,12 @@
   (JNIEnv *env, jobject obj, jobject font, jstring str, jint x, jint y)
 {
   struct peerfont *pfont = NULL;
-  struct graphics *g;
-  const char *cstr;
-  int baseline_y;
-  PangoLayoutIter *iter;
+  struct graphics *g = NULL;
+  const char *cstr = NULL;
+  int baseline_y = 0;
+  PangoLayoutIter *iter = NULL;
+
+  gdk_threads_enter ();
 
   g = (struct graphics *) NSA_GET_PTR (env, obj);
   g_assert (g != NULL);
@@ -237,8 +248,6 @@
 
   cstr = (*env)->GetStringUTFChars (env, str, NULL);
 
-  gdk_threads_enter ();
-
   pango_layout_set_font_description (pfont->layout, pfont->desc);
   pango_layout_set_text (pfont->layout, cstr, -1);
   iter = pango_layout_get_iter (pfont->layout);
@@ -254,24 +263,27 @@
   pango_layout_set_text (pfont->layout, "", -1);
 
   gdk_flush ();
-  gdk_threads_leave ();
 
   (*env)->ReleaseStringUTFChars (env, str, cstr);
+
+  gdk_threads_leave ();
 }
 
 JNIEXPORT void JNICALL
 Java_gnu_java_awt_peer_gtk_GdkGraphics_drawLine
   (JNIEnv *env, jobject obj, jint x, jint y, jint x2, jint y2)
 {
-  struct graphics *g;
+  struct graphics *g = NULL;
+
+  gdk_threads_enter ();
 
   g = (struct graphics *) NSA_GET_PTR (env, obj);
 
-  gdk_threads_enter ();
   gdk_draw_line (g->drawable, g->gc, 
 		 x + g->x_offset, y + g->y_offset, 
 		 x2 + g->x_offset, y2 + g->y_offset);
   gdk_flush ();
+
   gdk_threads_leave ();
 }
 
@@ -279,15 +291,16 @@
 Java_gnu_java_awt_peer_gtk_GdkGraphics_fillRect
   (JNIEnv *env, jobject obj, jint x, jint y, jint width, jint height)
 {
-  struct graphics *g;
-
-  g = (struct graphics *) NSA_GET_PTR (env, obj);
+  struct graphics *g = NULL;
 
   gdk_threads_enter ();
 
+  g = (struct graphics *) NSA_GET_PTR (env, obj);
+
   gdk_draw_rectangle (g->drawable, g->gc, TRUE, 
 		      x + g->x_offset, y + g->y_offset, width, height);
   gdk_flush ();
+
   gdk_threads_leave ();
 }
 
@@ -295,14 +308,16 @@
 Java_gnu_java_awt_peer_gtk_GdkGraphics_drawRect
   (JNIEnv *env, jobject obj, jint x, jint y, jint width, jint height)
 {
-  struct graphics *g;
+  struct graphics *g = NULL;
+
+  gdk_threads_enter ();
 
   g = (struct graphics *) NSA_GET_PTR (env, obj);
 
-  gdk_threads_enter ();
   gdk_draw_rectangle (g->drawable, g->gc, FALSE, 
 		      x + g->x_offset, y + g->y_offset, width, height);
   gdk_flush ();
+
   gdk_threads_leave ();
 }
 
@@ -311,11 +326,12 @@
   (JNIEnv *env, jobject obj, jint x, jint y, 
    jint width, jint height, jint dx, jint dy)
 {
-  struct graphics *g;
+  struct graphics *g = NULL;
+
+  gdk_threads_enter ();
 
   g = (struct graphics *) NSA_GET_PTR (env, obj);
 
-  gdk_threads_enter ();
   gdk_window_copy_area ((GdkWindow *)g->drawable,
 			g->gc,
 			x + g->x_offset + dx, y + g->y_offset + dy,
@@ -323,6 +339,7 @@
 			x + g->x_offset, y + g->y_offset,
 			width, height);
   gdk_flush ();
+
   gdk_threads_leave ();
 }
 
@@ -330,20 +347,21 @@
 Java_gnu_java_awt_peer_gtk_GdkGraphics_clearRect
   (JNIEnv *env, jobject obj, jint x, jint y, jint width, jint height)
 {
-  struct graphics *g;
+  struct graphics *g = NULL;
   GdkGCValues saved;
-  GtkWidget *widget;
+  GtkWidget *widget = NULL;
   union widget_union w;
 
-  g = (struct graphics *) NSA_GET_PTR (env, obj);
-
   gdk_threads_enter ();
 
+  g = (struct graphics *) NSA_GET_PTR (env, obj);
+
   if (!g)
     {
       gdk_threads_leave ();
       return;
     }
+
   if (GDK_IS_WINDOW (g->drawable))
     {
       w.widget = &widget;
@@ -363,6 +381,7 @@
     }
 
   gdk_flush ();
+
   gdk_threads_leave ();
 }
 
@@ -370,11 +389,14 @@
 Java_gnu_java_awt_peer_gtk_GdkGraphics_setFunction
   (JNIEnv *env, jobject obj, jint func)
 {
-  struct graphics *g;
-  g = (struct graphics *) NSA_GET_PTR (env, obj);
-  
+  struct graphics *g = NULL;
+
   gdk_threads_enter ();
+
+  g = (struct graphics *) NSA_GET_PTR (env, obj);
+
   gdk_gc_set_function (g->gc, func);
+
   gdk_threads_leave ();
 }
 
@@ -384,7 +406,9 @@
   (JNIEnv *env, jobject obj, jint red, jint green, jint blue)
 {
   GdkColor color;
-  struct graphics *g;
+  struct graphics *g = NULL;
+
+  gdk_threads_enter ();
 
   color.red = red << 8;
   color.green = green << 8;
@@ -392,7 +416,6 @@
 
   g = (struct graphics *) NSA_GET_PTR (env, obj);
   
-  gdk_threads_enter ();
   gdk_color_alloc (g->cm, &color);
   gdk_gc_set_foreground (g->gc, &color);
 
@@ -404,15 +427,17 @@
   (JNIEnv *env, jobject obj, jint x, jint y, jint width, jint height, 
    jint angle1, jint angle2)
 {
-  struct graphics *g;
+  struct graphics *g = NULL;
+
+  gdk_threads_enter ();
 
   g = (struct graphics *) NSA_GET_PTR (env, obj);
 
-  gdk_threads_enter ();
   gdk_draw_arc (g->drawable, g->gc, FALSE, 
 		x + g->x_offset, y + g->y_offset, 
 		width, height, angle1 << 6, angle2 << 6);
   gdk_flush ();
+
   gdk_threads_leave ();
 }  
 
@@ -448,19 +473,21 @@
   (JNIEnv *env, jobject obj, jintArray xpoints, jintArray ypoints, 
    jint npoints)
 {
-  struct graphics *g;
-  GdkPoint *points;
+  struct graphics *g = NULL;
+  GdkPoint *points = NULL;
+
+  gdk_threads_enter ();
 
   g = (struct graphics *) NSA_GET_PTR (env, obj);
   points = translate_points (env, xpoints, ypoints, npoints,
 			     g->x_offset, g->y_offset);
 
-  gdk_threads_enter ();
   gdk_draw_lines (g->drawable, g->gc, points, npoints);
   gdk_flush ();
-  gdk_threads_leave ();
 
   g_free (points);
+
+  gdk_threads_leave ();
 }
 
 JNIEXPORT void JNICALL
@@ -468,8 +495,10 @@
   (JNIEnv *env, jobject obj, jintArray xpoints, jintArray ypoints, 
    jint npoints)
 {
-  struct graphics *g;
-  GdkPoint *points;
+  struct graphics *g = NULL;
+  GdkPoint *points = NULL;
+
+  gdk_threads_enter ();
 
   g = (struct graphics *) NSA_GET_PTR (env, obj);
   points = translate_points (env, xpoints, ypoints, npoints,
@@ -480,12 +509,12 @@
   if (points[0].x != points[npoints-1].x || points[0].y != points[npoints-1].y)
     points[npoints++] = points[0];
 
-  gdk_threads_enter ();
   gdk_draw_lines (g->drawable, g->gc, points, npoints);
   gdk_flush ();
-  gdk_threads_leave ();
 
   g_free (points);
+
+  gdk_threads_leave ();
 }
 
 JNIEXPORT void JNICALL
@@ -493,18 +522,20 @@
   (JNIEnv *env, jobject obj, jintArray xpoints, jintArray ypoints, 
    jint npoints)
 {
-  struct graphics *g;
-  GdkPoint *points;
+  struct graphics *g = NULL;
+  GdkPoint *points = NULL;
+
+  gdk_threads_enter ();
 
   g = (struct graphics *) NSA_GET_PTR (env, obj);
   points = translate_points (env, xpoints, ypoints, npoints,
 			     g->x_offset, g->y_offset);
-  gdk_threads_enter ();
   gdk_draw_polygon (g->drawable, g->gc, TRUE, points, npoints);
   gdk_flush ();
-  gdk_threads_leave ();
 
   g_free (points);
+
+  gdk_threads_leave ();
 }
 
 JNIEXPORT void JNICALL
@@ -512,15 +543,17 @@
   (JNIEnv *env, jobject obj, jint x, jint y, jint width, jint height, 
    jint angle1, jint angle2)
 {
-  struct graphics *g;
+  struct graphics *g = NULL;
+
+  gdk_threads_enter ();
 
   g = (struct graphics *) NSA_GET_PTR (env, obj);
 
-  gdk_threads_enter ();
   gdk_draw_arc (g->drawable, g->gc, TRUE, 
 		x + g->x_offset, y + g->y_offset, 
 		width, height, angle1 << 6, angle2 << 6);
   gdk_flush ();
+
   gdk_threads_leave ();
 }  
 
@@ -528,15 +561,17 @@
 Java_gnu_java_awt_peer_gtk_GdkGraphics_drawOval
   (JNIEnv *env, jobject obj, jint x, jint y, jint width, jint height)
 {
-  struct graphics *g;
+  struct graphics *g = NULL;
+
+  gdk_threads_enter ();
 
   g = (struct graphics *) NSA_GET_PTR (env, obj);
 
-  gdk_threads_enter ();
   gdk_draw_arc (g->drawable, g->gc, FALSE, 
 		x + g->x_offset, y + g->y_offset, 
 		width, height, 0, 23040);
   gdk_flush ();
+
   gdk_threads_leave ();
 }  
 
@@ -544,15 +579,17 @@
 Java_gnu_java_awt_peer_gtk_GdkGraphics_fillOval
   (JNIEnv *env, jobject obj, jint x, jint y, jint width, jint height)
 {
-  struct graphics *g;
+  struct graphics *g = NULL;
+
+  gdk_threads_enter ();
 
   g = (struct graphics *) NSA_GET_PTR (env, obj);
 
-  gdk_threads_enter ();
   gdk_draw_arc (g->drawable, g->gc, TRUE, 
 		x + g->x_offset, y + g->y_offset, 
 		width, height, 0, 23040);
   gdk_flush ();
+
   gdk_threads_leave ();
 }
 
@@ -560,9 +597,11 @@
 Java_gnu_java_awt_peer_gtk_GdkGraphics_setClipRectangle
   (JNIEnv *env, jobject obj, jint x, jint y, jint width, jint height)
 {
-  struct graphics *g;
+  struct graphics *g = NULL;
   GdkRectangle rectangle;
 
+  gdk_threads_enter ();
+
   g = (struct graphics *) NSA_GET_PTR (env, obj);
 
   rectangle.x = x + g->x_offset;
@@ -570,19 +609,19 @@
   rectangle.width = width;
   rectangle.height = height;
 
-  gdk_threads_enter ();
   gdk_gc_set_clip_rectangle (g->gc, &rectangle);
+
   gdk_threads_leave ();
 }
 
-static void realize_cb (GtkWidget *widget __attribute__ ((unused)), 
-			jobject peer)
+static void
+realize_cb (GtkWidget *widget __attribute__ ((unused)), jobject jgraphics)
 {
   gdk_threads_leave ();
 
-  (*gdk_env())->CallVoidMethod (gdk_env(), peer, initComponentGraphicsID);
+  (*gdk_env())->CallVoidMethod (gdk_env(), jgraphics, initComponentGraphicsID);
 
-  NSA_DEL_GLOBAL_REF (gdk_env(), peer);
+  NSA_DEL_GLOBAL_REF (gdk_env(), jgraphics);
 
   gdk_threads_enter ();
 }
Index: kaffe/libraries/clib/awt/classpath-gtk/gtk-peer/gnu_java_awt_peer_gtk_GdkGraphics2D.c
diff -u kaffe/libraries/clib/awt/classpath-gtk/gtk-peer/gnu_java_awt_peer_gtk_GdkGraphics2D.c:1.15 kaffe/libraries/clib/awt/classpath-gtk/gtk-peer/gnu_java_awt_peer_gtk_GdkGraphics2D.c:1.16
--- kaffe/libraries/clib/awt/classpath-gtk/gtk-peer/gnu_java_awt_peer_gtk_GdkGraphics2D.c:1.15	Mon Jul  4 00:04:00 2005
+++ kaffe/libraries/clib/awt/classpath-gtk/gtk-peer/gnu_java_awt_peer_gtk_GdkGraphics2D.c	Mon Jul 25 16:03:22 2005
@@ -71,7 +71,9 @@
   (JNIEnv *env, jclass clazz)
 {
    gdk_threads_enter();
+
    NSA_G2D_INIT (env, clazz);
+
    gdk_threads_leave();
 }
 
@@ -366,7 +368,8 @@
   struct graphics2d *g = NULL, *g_old = NULL;
 
   gdk_threads_enter();
-  g = (struct graphics2d *) malloc (sizeof (struct graphics2d));
+
+  g = (struct graphics2d *) g_malloc (sizeof (struct graphics2d));
   g_assert (g != NULL);
   memset (g, 0, sizeof(struct graphics2d));
 
@@ -415,6 +418,7 @@
     cairo_pattern_set_filter (g->pattern, CAIRO_FILTER_FAST);
 
   NSA_SET_G2D_PTR (env, obj, g);
+
   gdk_threads_leave();
 }
 
@@ -423,11 +427,12 @@
 Java_gnu_java_awt_peer_gtk_GdkGraphics2D_initState___3III
 (JNIEnv *env, jobject obj, jintArray jarr, jint width, jint height)
 {
-  struct graphics2d *gr;
-  jint *cairobuf;
+  struct graphics2d *gr = NULL;
+  jint *cairobuf = NULL;
 
   gdk_threads_enter();
-  gr = (struct graphics2d *) malloc (sizeof (struct graphics2d));
+
+  gr = (struct graphics2d *) g_malloc (sizeof (struct graphics2d));
   g_assert (gr != NULL);
   memset (gr, 0, sizeof(struct graphics2d));
 
@@ -470,6 +475,7 @@
 			 width, height);
 
   NSA_SET_G2D_PTR (env, obj, gr);
+
   gdk_threads_leave();  
 }
 
@@ -477,10 +483,11 @@
 Java_gnu_java_awt_peer_gtk_GdkGraphics2D_initState__II
   (JNIEnv *env, jobject obj, jint width, jint height)
 {
-  struct graphics2d *gr;
+  struct graphics2d *gr = NULL;
   
   gdk_threads_enter();
-  gr = (struct graphics2d *) malloc (sizeof (struct graphics2d));
+
+  gr = (struct graphics2d *) g_malloc (sizeof (struct graphics2d));
   g_assert (gr != NULL);
   memset (gr, 0, sizeof(struct graphics2d));
 
@@ -504,6 +511,7 @@
   if (gr->debug) printf ("constructed offscreen drawable of size (%d,%d)\n",
 			 width, height);
   NSA_SET_G2D_PTR (env, obj, gr);
+
   gdk_threads_leave();
 }
 
@@ -511,13 +519,25 @@
 Java_gnu_java_awt_peer_gtk_GdkGraphics2D_gdkDrawDrawable
   (JNIEnv *env, jobject self, jobject other, jint x, jint y)
 {
-  struct graphics2d *src = NULL, *dst = NULL;
-  gint s_height, s_width, d_height, d_width, height, width;
+  struct graphics2d *src = NULL;
+  struct graphics2d *dst = NULL;
+  gint s_height;
+  gint s_width;
+  gint d_height;
+  gint d_width;
+  gint height;
+  gint width;
   cairo_matrix_t matrix;
   cairo_operator_t tmp_op;
 
   gdk_threads_enter();
-  if (peer_is_disposed(env, self)) { gdk_threads_leave(); return; }
+  
+  if (peer_is_disposed(env, self))
+    {
+      gdk_threads_leave();
+      return;
+    }
+
   src = (struct graphics2d *)NSA_GET_G2D_PTR (env, other);
   dst = (struct graphics2d *)NSA_GET_G2D_PTR (env, self);
   g_assert (src != NULL);
@@ -553,6 +573,7 @@
   end_drawing_operation(env, dst);
 
   if (src->debug) printf ("copied %d x %d pixels from offscreen drawable\n", width, height);
+
   gdk_threads_leave();
 }
 
@@ -565,11 +586,17 @@
   void *ptr = NULL;
 
   gdk_threads_enter();
-  if (peer_is_disposed(env, obj)) { gdk_threads_leave(); return; }
+
+  if (peer_is_disposed(env, obj))
+    {
+      gdk_threads_leave ();
+      return;
+    }
+
   ptr = NSA_GET_PTR (env, peer);
   g_assert (ptr != NULL);
 
-  gr = (struct graphics2d *) malloc (sizeof (struct graphics2d));
+  gr = (struct graphics2d *) g_malloc (sizeof (struct graphics2d));
   g_assert (gr != NULL);
   memset (gr, 0, sizeof(struct graphics2d));
 
@@ -590,6 +617,7 @@
     init_graphics2d_as_pixbuf (gr);
 
   NSA_SET_G2D_PTR (env, obj, gr);
+
   gdk_threads_leave();
 }
 
@@ -599,10 +627,10 @@
 {
   void *ptr;
 
-  ptr = NSA_GET_PTR (env, peer);
-
   gdk_threads_enter ();
 
+  ptr = NSA_GET_PTR (env, peer);
+
   g_signal_connect_after (G_OBJECT (ptr), "realize",
                           G_CALLBACK (realize_cb), obj);
 
@@ -616,7 +644,9 @@
   struct graphics2d *gr = NULL;
 
   gdk_threads_enter();
+
   gr = (struct graphics2d *) NSA_DEL_G2D_PTR (env, obj);
+
   if (gr == NULL) 
     {
       gdk_threads_leave();
@@ -641,7 +671,7 @@
     cairo_surface_destroy (gr->pattern_surface);
 
   if (gr->pattern_pixels)
-    free (gr->pattern_pixels);
+    g_free (gr->pattern_pixels);
 
   if (gr->mode == MODE_JAVA_ARRAY)
     {
@@ -652,11 +682,11 @@
 
   if (gr->debug) printf ("disposed of graphics2d\n");
 
-  free (gr);
+  g_free (gr);
+
   gdk_threads_leave();
 }
 
-
 JNIEXPORT void JNICALL
 Java_gnu_java_awt_peer_gtk_GdkGraphics2D_setGradient 
   (JNIEnv *env, jobject obj, 
@@ -670,11 +700,18 @@
   cairo_surface_t *surf = NULL;
   cairo_t *cr2 = NULL;
   cairo_matrix_t mat;
+
+  gdk_threads_enter();
+
   gr = (struct graphics2d *) NSA_GET_G2D_PTR (env, obj);
   g_assert (gr != NULL);
 
-  gdk_threads_enter();
-  if (peer_is_disposed(env, obj)) { gdk_threads_leave(); return; }
+  if (peer_is_disposed(env, obj))
+    {
+      gdk_threads_leave ();
+      return;
+    }
+
   if (gr->debug) printf ("setGradient (%f,%f) -> (%f,%f); (%d,%d,%d,%d) -> (%d,%d,%d,%d)\n",
 			 x1, y1, 
 			 x2, y2, 
@@ -774,6 +811,7 @@
   gr->pattern = cairo_pattern_create_for_surface(surf);
 
   cairo_set_source (gr->cr, gr->pattern);
+
   gdk_threads_leave();
 }
 
@@ -785,7 +823,13 @@
   jint *jpixels = NULL;
 
   gdk_threads_enter();
-  if (peer_is_disposed(env, obj)) { gdk_threads_leave(); return; }
+
+  if (peer_is_disposed(env, obj))
+    {
+      gdk_threads_leave ();
+      return;
+    }

*** Patch too long, truncated ***




More information about the kaffe mailing list