? .gnome-canvas-path-def.h.swp
? .gnome-canvas-path-def.c.swp
? .gnome-canvas-bpath.c.swp
? .gnome-canvas-bpath.h.swp
Index: gnome-canvas-bpath.c
===================================================================
RCS file: /cvs/gnome/libgnomecanvas/libgnomecanvas/gnome-canvas-bpath.c,v
retrieving revision 1.8
diff -u -r1.8 gnome-canvas-bpath.c
--- gnome-canvas-bpath.c	23 Jan 2004 20:31:04 -0000	1.8
+++ gnome-canvas-bpath.c	26 Jan 2004 03:38:53 -0000
@@ -100,8 +100,9 @@
 
 	g_object_class_install_property (gobject_class,
                                          PROP_BPATH,
-                                         g_param_spec_pointer ("bpath", NULL, NULL,
-                                                               (G_PARAM_READABLE | G_PARAM_WRITABLE)));
+                                         g_param_spec_boxed ("bpath", NULL, NULL,
+                                                             GNOME_TYPE_CANVAS_PATH_DEF,
+                                                             (G_PARAM_READABLE | G_PARAM_WRITABLE)));
 
 	item_class->update = gnome_canvas_bpath_update;
 }
@@ -134,7 +135,7 @@
 
 	switch (param_id) {
 	case PROP_BPATH:
-		gpp = g_value_get_pointer (value);
+		gpp = (GnomeCanvasPathDef*) g_value_get_boxed (value);
 
 		gnome_canvas_shape_set_path_def (GNOME_CANVAS_SHAPE (object), gpp);
 
@@ -159,11 +160,7 @@
 
 	switch (param_id) {
 	case PROP_BPATH:
-		if (shape->priv->path) {
-			gnome_canvas_path_def_ref (shape->priv->path);
-			g_value_set_pointer (value, shape->priv->path);
-		} else
-			g_value_set_pointer (value, NULL);
+		g_value_set_boxed (value, shape->priv->path);
 		break;
 	default:
 		G_OBJECT_WARN_INVALID_PROPERTY_ID (object, param_id, pspec);
Index: gnome-canvas-path-def.c
===================================================================
RCS file: /cvs/gnome/libgnomecanvas/libgnomecanvas/gnome-canvas-path-def.c,v
retrieving revision 1.7
diff -u -r1.7 gnome-canvas-path-def.c
--- gnome-canvas-path-def.c	12 Sep 2003 02:23:38 -0000	1.7
+++ gnome-canvas-path-def.c	26 Jan 2004 03:38:56 -0000
@@ -40,6 +40,28 @@
 static gboolean sp_bpath_all_closed (const ArtBpath * bpath);
 static gboolean sp_bpath_all_open (const ArtBpath * bpath);
 
+/* Boxed Type Support */
+
+static GnomeCanvasPathDef *
+path_def_boxed_copy (GnomeCanvasPathDef * path_def)
+{
+	if (path_def)
+		gnome_canvas_path_def_ref (path_def);
+	return path_def;
+}
+
+GType
+gnome_canvas_path_def_get_type (void)
+{
+	static GType t = 0;
+	if (t == 0)
+		t = g_boxed_type_register_static
+				("GnomeCanvasPathDef",
+				 (GBoxedCopyFunc)path_def_boxed_copy,
+				 (GBoxedFreeFunc)gnome_canvas_path_def_unref);
+	return t;
+}
+
 /* Constructors */
 
 /**
Index: gnome-canvas-path-def.h
===================================================================
RCS file: /cvs/gnome/libgnomecanvas/libgnomecanvas/gnome-canvas-path-def.h,v
retrieving revision 1.3
diff -u -r1.3 gnome-canvas-path-def.h
--- gnome-canvas-path-def.h	25 Jun 2001 12:07:23 -0000	1.3
+++ gnome-canvas-path-def.h	26 Jan 2004 03:38:57 -0000
@@ -15,12 +15,15 @@
  *
  */
 
-#include <glib.h>
+#include <glib-object.h>
 #include <libart_lgpl/art_bpath.h>
 
 G_BEGIN_DECLS
 
 typedef struct _GnomeCanvasPathDef GnomeCanvasPathDef;
+
+#define GNOME_TYPE_CANVAS_PATH_DEF	(gnome_canvas_path_def_get_type ())
+GType gnome_canvas_path_def_get_type (void) G_GNUC_CONST;
 
 /* Constructors */
 
