classpath-patches
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[cp-patches] [patch] gtk-peer, replace deprecated g*k functions


From: Andreas Tobler
Subject: [cp-patches] [patch] gtk-peer, replace deprecated g*k functions
Date: Sat, 17 Sep 2005 21:53:12 +0200
User-agent: Mozilla Thunderbird 1.0.5 (Macintosh/20050711)

Hello

the following patch bases on the idea (by mjw on irc) to build the gtk-peers with -DGDK_DISABLE_DEPRECATED -DGTK_DISABLE_DEPRECATED.

I tried to catch all and hopefully replaced all with the right replacement. I built with -Werror on darwin ppc.
My tests so far cover the common GUI samples we have in cp.

The gtk/gdk version I use is 2.8.x, so it might be that I got some functions which may work well with older gtk releases. Here comes the question what our minimum requirement regarding gtk is.

I'd appreciate test runs by other people as well as careful review.

Thanks,

Andreas

2005-09-17  Andreas Tobler  <address@hidden>

        * native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkWindowPeer.c
        (Java_gnu_java_awt_peer_gtk_GtkWindowPeer_gtkWindowSetResizable):
        Replace deprecated gtk_window_set_policy with gtk_window_set_resizable.

        * native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkMenuPeer.c
        (Java_gnu_java_awt_peer_gtk_GtkMenuPeer_delItem): Replace deprecated
        gtk_container_children with gtk_container_get_children.

        * native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkMenuBarPeer.c
        (Java_gnu_java_awt_peer_gtk_GtkMenuBarPeer_nativeSetHelpMenu): Likewise.
        (Java_gnu_java_awt_peer_gtk_GtkMenuBarPeer_delMenu): Likewise.

        * native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkImage.c
        (Java_gnu_java_awt_peer_gtk_GtkImage_freePixmap): Replace deprecated
        gdk_pixmap_unref with g_object_unref.

        * native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkComponentPeer.c
        
(Java_gnu_java_awt_peer_gtk_GtkComponentPeer_gtkWidgetSetCursorUnlocked):
        Replace deprecated gdk_cursor_destroy with gdk_cursor_unref.
        (Java_gnu_java_awt_peer_gtk_GtkComponentPeer_gtkWidgetSetParent):
        Replace deprecated gtk_container_children with
        gtk_container_get_children.
        (find_fg_color_widget): Replace deprecated macro GTK_IS_OPTION_MENU with
        GTK_IS_COMBO_BOX.
        (component_button_release_cb): Replace deprecated gdk_window_get_size
        with gdk_drawable_get_size.

        * native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkCheckboxPeer.c
        (Java_gnu_java_awt_peer_gtk_GtkCheckboxPeer_nativeSetCheckboxGroup):
        Replace deprecated gtk_radio_button_group with
        gtk_radio_button_get_group.

        * native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkCheckboxGroupPeer.c
        (Java_gnu_java_awt_peer_gtk_GtkCheckboxGroupPeer_remove): Likewise.

        * native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkCanvasPeer.c
        (Java_gnu_java_awt_peer_gtk_GtkCanvasPeer_create): Replace deprecated
        gtk_type_new with gtk_drawing_area_new.

        * native/jni/gtk-peer/gnu_java_awt_peer_gtk_GdkGraphics.c
        (Java_gnu_java_awt_peer_gtk_GdkGraphics_copyState): Replace deprecated
        gdk_*_ref with g_object_ref.
        (Java_gnu_java_awt_peer_gtk_GdkGraphics_initState__II): Likewise.
        Replace deprecated gdk_rgb_get_cmap with gdk_rgb_get_colormap.
        (Java_gnu_java_awt_peer_gtk_GdkGraphics_initFromImage): Replace
        deprecated gdk_*_ref with g_object_ref.
        (Java_gnu_java_awt_peer_gtk_GdkGraphics_initStateUnlocked): Likewise.
        (Java_gnu_java_awt_peer_gtk_GdkGraphics_dispose): Replace deprecated
        gdk_*_unref with g_object_unref.
        (Java_gnu_java_awt_peer_gtk_GdkGraphics_copyArea): Replace deprecated
        gdk_window_copy_area with gdk_draw_drawable.
        (Java_gnu_java_awt_peer_gtk_GdkGraphics_setFGColor): Replace deprecated
        gdk_color_alloc with gdk_colormap_alloc_color.
Index: native/jni/gtk-peer/gnu_java_awt_peer_gtk_GdkGraphics.c
===================================================================
RCS file: 
/cvsroot/classpath/classpath/native/jni/gtk-peer/gnu_java_awt_peer_gtk_GdkGraphics.c,v
retrieving revision 1.28
diff -u -r1.28 gnu_java_awt_peer_gtk_GdkGraphics.c
--- native/jni/gtk-peer/gnu_java_awt_peer_gtk_GdkGraphics.c     18 Aug 2005 
01:22:00 -0000      1.28
+++ native/jni/gtk-peer/gnu_java_awt_peer_gtk_GdkGraphics.c     17 Sep 2005 
19:46:22 -0000
@@ -116,11 +116,11 @@
   gdk_gc_copy (g->gc, g_old->gc);
 
   if (GDK_STABLE_IS_PIXMAP (g->drawable))
-    gdk_pixmap_ref (g->drawable);
+    g_object_ref (g->drawable);
   else /* GDK_IS_WINDOW (g->drawable) */
-    gdk_window_ref (g->drawable);
+    g_object_ref (g->drawable);
 
-  gdk_colormap_ref (g->cm);
+  g_object_ref (g->cm);
 
   NSA_SET_G_PTR (env, obj, g);
 
@@ -140,8 +140,8 @@
 
   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->cm = gdk_rgb_get_colormap ();
+  g_object_ref (g->cm);
   g->gc = gdk_gc_new (g->drawable);
 
   NSA_SET_G_PTR (env, obj, g);
@@ -160,7 +160,7 @@
 
   pixmap = cp_gtk_image_get_pixmap (env, source);
   g_assert(pixmap != NULL);
-  gdk_pixmap_ref (pixmap);
+  g_object_ref (pixmap);
 
   g = (struct graphics *) g_malloc (sizeof (struct graphics));
   g->x_offset = g->y_offset = 0;
@@ -168,7 +168,7 @@
   g->drawable = (GdkDrawable *)pixmap;
 
   g->cm = gdk_drawable_get_colormap (g->drawable);
-  gdk_colormap_ref (g->cm);
+  g_object_ref (g->cm);
   g->gc = gdk_gc_new (g->drawable);
 
   NSA_SET_G_PTR (env, obj, g);
@@ -193,9 +193,9 @@
   widget = GTK_WIDGET (ptr);
   g->drawable = (GdkDrawable *) widget->window;
 
-  gdk_window_ref (g->drawable);
+  g_object_ref (g->drawable);
   g->cm = gtk_widget_get_colormap (widget);
-  gdk_colormap_ref (g->cm);
+  g_object_ref (g->cm);
   g->gc = gdk_gc_new (g->drawable);
   gdk_gc_copy (g->gc, widget->style->fg_gc[GTK_STATE_NORMAL]);
   color = widget->style->fg[GTK_STATE_NORMAL];
@@ -254,14 +254,14 @@
 
   XFlush (GDK_DISPLAY ());
 
-  gdk_gc_destroy (g->gc);
+  g_object_unref (g->gc);
 
   if (GDK_STABLE_IS_PIXMAP (g->drawable))
-    gdk_pixmap_unref (g->drawable);
+    g_object_unref (g->drawable);
   else /* GDK_IS_WINDOW (g->drawable) */
-    gdk_window_unref (g->drawable);
+    g_object_unref (g->drawable);
 
-  gdk_colormap_unref (g->cm);
+  g_object_unref (g->cm);
 
   g_free (g);
 
@@ -388,12 +388,12 @@
 
   g = (struct graphics *) NSA_GET_G_PTR (env, obj);
 
-  gdk_window_copy_area ((GdkWindow *)g->drawable,
-                       g->gc,
-                       x + g->x_offset + dx, y + g->y_offset + dy,
-                       (GdkWindow *)g->drawable,
-                       x + g->x_offset, y + g->y_offset,
-                       width, height);
+  gdk_draw_drawable ((GdkWindow *)g->drawable,
+                    g->gc,
+                    (GdkWindow *)g->drawable,
+                    x + g->x_offset + dx, y + g->y_offset + dy,
+                    x + g->x_offset, y + g->y_offset,
+                    width, height);
   gdk_flush ();
 
   gdk_threads_leave ();
@@ -471,8 +471,8 @@
   color.blue = blue << 8;
 
   g = (struct graphics *) NSA_GET_G_PTR (env, obj);
-  
-  gdk_color_alloc (g->cm, &color);
+
+  gdk_colormap_alloc_color (g->cm, &color, TRUE, TRUE);
   gdk_gc_set_foreground (g->gc, &color);
 
   gdk_threads_leave ();
Index: native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkCanvasPeer.c
===================================================================
RCS file: 
/cvsroot/classpath/classpath/native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkCanvasPeer.c,v
retrieving revision 1.10
diff -u -r1.10 gnu_java_awt_peer_gtk_GtkCanvasPeer.c
--- native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkCanvasPeer.c   11 Jul 2005 
23:27:43 -0000      1.10
+++ native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkCanvasPeer.c   17 Sep 2005 
19:46:22 -0000
@@ -46,11 +46,11 @@
   gpointer widget;
 
   gdk_threads_enter ();
-  
+
   /* Create global reference and save it for future use */
   NSA_SET_GLOBAL_REF (env, obj);
 
-  widget = gtk_type_new (gtk_drawing_area_get_type ());
+  widget = gtk_drawing_area_new ();
 
   NSA_SET_PTR (env, obj, widget);
 
Index: native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkCheckboxGroupPeer.c
===================================================================
RCS file: 
/cvsroot/classpath/classpath/native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkCheckboxGroupPeer.c,v
retrieving revision 1.4
diff -u -r1.4 gnu_java_awt_peer_gtk_GtkCheckboxGroupPeer.c
--- native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkCheckboxGroupPeer.c    11 Jul 
2005 23:27:43 -0000      1.4
+++ native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkCheckboxGroupPeer.c    17 Sep 
2005 19:46:22 -0000
@@ -64,7 +64,7 @@
   /* Update the group to point to some other widget in the group.  We
      have to do this because Gtk doesn't have a separate object to
      represent a radio button's group.  */
-  for (list = gtk_radio_button_group (button); list != NULL;
+  for (list = gtk_radio_button_get_group (button); list != NULL;
        list = list->next)
     {
       if (list->data != button)
Index: native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkCheckboxPeer.c
===================================================================
RCS file: 
/cvsroot/classpath/classpath/native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkCheckboxPeer.c,v
retrieving revision 1.20
diff -u -r1.20 gnu_java_awt_peer_gtk_GtkCheckboxPeer.c
--- native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkCheckboxPeer.c 18 Aug 2005 
01:22:00 -0000      1.20
+++ native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkCheckboxPeer.c 17 Sep 2005 
19:46:22 -0000
@@ -130,7 +130,7 @@
     gtk_radio_button_set_group (button, NULL);
   else
     gtk_radio_button_set_group (button,
-                               gtk_radio_button_group 
+                               gtk_radio_button_get_group
                                (GTK_RADIO_BUTTON (native_group)));
 
   /* If the native group wasn't set on the new CheckboxGroup, then set
Index: native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkComponentPeer.c
===================================================================
RCS file: 
/cvsroot/classpath/classpath/native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkComponentPeer.c,v
retrieving revision 1.53
diff -u -r1.53 gnu_java_awt_peer_gtk_GtkComponentPeer.c
--- native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkComponentPeer.c        12 Sep 
2005 03:46:42 -0000      1.53
+++ native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkComponentPeer.c        17 Sep 
2005 19:46:24 -0000
@@ -249,7 +249,7 @@
 
   gdk_cursor = gdk_cursor_new (gdk_cursor_type);
   gdk_window_set_cursor (widget->window, gdk_cursor);
-  gdk_cursor_destroy (gdk_cursor);
+  gdk_cursor_unref (gdk_cursor);
 }
 
 JNIEXPORT void JNICALL
@@ -272,9 +272,9 @@
   if (widget->parent == NULL)
     {
       if (GTK_IS_WINDOW (parent_widget))
-        {
-          GList *children = gtk_container_children 
-            (GTK_CONTAINER (parent_widget));
+       {
+         GList *children = gtk_container_get_children
+           (GTK_CONTAINER (parent_widget));
 
           if (GTK_IS_MENU_BAR (children->data))
             gtk_fixed_put (GTK_FIXED (children->next->data), widget, 0, 0);
@@ -840,7 +840,7 @@
 
   if (GTK_IS_EVENT_BOX (widget)
       || (GTK_IS_BUTTON (widget)
-          && !GTK_IS_OPTION_MENU (widget)))
+         && !GTK_IS_COMBO_BOX (widget)))
     fg_color_widget = gtk_bin_get_child (GTK_BIN(widget));
   else
     fg_color_widget = widget;
@@ -970,7 +970,7 @@
   /* Generate an AWT click event only if the release occured in the
      window it was pressed in, and the mouse has not been dragged since
      the last time it was pressed. */
-  gdk_window_get_size (event->window, &width, &height);
+  gdk_drawable_get_size (event->window, &width, &height);
   if (! hasBeenDragged
       && event->x >= 0
       && event->y >= 0
Index: native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkImage.c
===================================================================
RCS file: 
/cvsroot/classpath/classpath/native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkImage.c,v
retrieving revision 1.16
diff -u -r1.16 gnu_java_awt_peer_gtk_GtkImage.c
--- native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkImage.c        4 Sep 2005 
00:03:58 -0000       1.16
+++ native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkImage.c        17 Sep 2005 
19:46:24 -0000
@@ -299,7 +299,7 @@
   if (offScreen (env, obj) == JNI_FALSE)
     gdk_pixbuf_unref ((GdkPixbuf *)getData (env, obj));
   else
-    gdk_pixmap_unref ((GdkPixmap *)getData (env, obj));
+    g_object_unref ((GdkPixmap *)getData (env, obj));
 
   gdk_threads_leave ();
 }
Index: native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkMenuBarPeer.c
===================================================================
RCS file: 
/cvsroot/classpath/classpath/native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkMenuBarPeer.c,v
retrieving revision 1.12
diff -u -r1.12 gnu_java_awt_peer_gtk_GtkMenuBarPeer.c
--- native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkMenuBarPeer.c  11 Jul 2005 
23:27:43 -0000      1.12
+++ native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkMenuBarPeer.c  17 Sep 2005 
19:46:24 -0000
@@ -88,7 +88,7 @@
 
   if (helpmenu != NULL)
     {
-      list = gtk_container_children (GTK_CONTAINER (mbar));
+      list = gtk_container_get_children (GTK_CONTAINER (mbar));
       while (list != NULL && list->data != helpmenu)
         list = list->next;
       if (list != NULL && list->data == helpmenu)
@@ -110,7 +110,7 @@
 
   ptr = NSA_GET_PTR (env, obj);
 
-  list = gtk_container_children (GTK_CONTAINER (ptr));
+  list = gtk_container_get_children (GTK_CONTAINER (ptr));
   list = g_list_nth (list, index);
   gtk_container_remove (GTK_CONTAINER (ptr), GTK_WIDGET (list->data));
 
Index: native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkMenuPeer.c
===================================================================
RCS file: 
/cvsroot/classpath/classpath/native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkMenuPeer.c,v
retrieving revision 1.19
diff -u -r1.19 gnu_java_awt_peer_gtk_GtkMenuPeer.c
--- native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkMenuPeer.c     14 Jul 2005 
22:07:02 -0000      1.19
+++ native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkMenuPeer.c     17 Sep 2005 
19:46:25 -0000
@@ -165,7 +165,7 @@
 
   ptr = NSA_GET_PTR (env, obj);
 
-  list = gtk_container_children (GTK_CONTAINER (ptr));
+  list = gtk_container_get_children (GTK_CONTAINER (ptr));
   list = g_list_nth (list, index);
   gtk_container_remove (GTK_CONTAINER (ptr), GTK_WIDGET (list->data));
 
Index: native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkToolkit.c
===================================================================
RCS file: 
/cvsroot/classpath/classpath/native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkToolkit.c,v
retrieving revision 1.23
diff -u -r1.23 gnu_java_awt_peer_gtk_GtkToolkit.c
--- native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkToolkit.c      6 Sep 2005 
04:21:14 -0000       1.23
+++ native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkToolkit.c      17 Sep 2005 
19:46:25 -0000
@@ -160,10 +160,8 @@
   XSynchronize (GDK_DISPLAY_XDISPLAY (gdk_display_get_default ()), True);
 #endif
 
-  gdk_rgb_init ();
-  gtk_widget_set_default_colormap (gdk_rgb_get_cmap ());
-  gtk_widget_set_default_visual (gdk_rgb_get_visual ());
-
+  gtk_widget_set_default_colormap (gdk_rgb_get_colormap ());
+ 
   /* Make sure queued calls don't get sent to GTK/GDK while 
      we're shutting down. */
   atexit (gdk_threads_enter);
Index: native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkWindowPeer.c
===================================================================
RCS file: 
/cvsroot/classpath/classpath/native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkWindowPeer.c,v
retrieving revision 1.60
diff -u -r1.60 gnu_java_awt_peer_gtk_GtkWindowPeer.c
--- native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkWindowPeer.c   12 Sep 2005 
03:46:42 -0000      1.60
+++ native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkWindowPeer.c   17 Sep 2005 
19:46:27 -0000
@@ -1205,7 +1205,7 @@
 
   ptr = NSA_GET_PTR (env, obj);
 
-  gtk_window_set_policy (GTK_WINDOW (ptr), resizable, resizable, FALSE);
+  gtk_window_set_resizable (GTK_WINDOW (ptr), resizable);
 
   gdk_threads_leave ();
 }

reply via email to

[Prev in Thread] Current Thread [Next in Thread]