Index: e-util/e-text-event-processor.c
===================================================================
--- e-util/e-text-event-processor.c	(revision 33821)
+++ e-util/e-text-event-processor.c	(working copy)
@@ -41,9 +41,6 @@
 						 GValue *value,
 						 GParamSpec *pspec);
 
-#define PARENT_TYPE G_TYPE_OBJECT
-static GObjectClass *parent_class = NULL;
-
 /* The arguments we take */
 enum {
 	PROP_0,
@@ -57,12 +54,7 @@
 
 static guint e_tep_signals[E_TEP_LAST_SIGNAL] = { 0 };
 
-E_MAKE_TYPE (e_text_event_processor,
-	     "ETextEventProcessor",
-	     ETextEventProcessor,
-	     e_text_event_processor_class_init,
-	     e_text_event_processor_init,
-	     PARENT_TYPE)
+G_DEFINE_TYPE (ETextEventProcessor, e_text_event_processor, G_TYPE_OBJECT)
 
 static void
 e_text_event_processor_class_init (ETextEventProcessorClass *klass)
@@ -71,8 +63,6 @@
 
 	object_class = (GObjectClass*) klass;
 
-	parent_class = g_type_class_ref (PARENT_TYPE);
-
 	object_class->set_property = e_text_event_processor_set_property;
 	object_class->get_property = e_text_event_processor_get_property;
 
Index: e-util/e-sorter.c
===================================================================
--- e-util/e-sorter.c	(revision 33821)
+++ e-util/e-sorter.c	(working copy)
@@ -33,7 +33,7 @@
 
 #define PARENT_TYPE G_TYPE_OBJECT
 
-static GObjectClass *parent_class;
+G_DEFINE_TYPE (ESorter, e_sorter, G_TYPE_OBJECT)
 
 static gint es_model_to_sorted (ESorter *es, int row);
 static gint es_sorted_to_model (ESorter *es, int row);
@@ -42,10 +42,8 @@
 static gboolean es_needs_sorting(ESorter *es);
 
 static void
-es_class_init (ESorterClass *klass)
+e_sorter_class_init (ESorterClass *klass)
 {
-	parent_class                     = g_type_class_ref (PARENT_TYPE);
-
 	klass->model_to_sorted           = es_model_to_sorted;
 	klass->sorted_to_model           = es_sorted_to_model;
 	klass->get_model_to_sorted_array = es_get_model_to_sorted_array;
@@ -54,12 +52,10 @@
 }
 
 static void
-es_init (ESorter *es)
+e_sorter_init (ESorter *es)
 {
 }
 
-E_MAKE_TYPE(e_sorter, "ESorter", ESorter, es_class_init, es_init, PARENT_TYPE)
-
 ESorter *
 e_sorter_new (void)
 {
Index: e-util/ChangeLog
===================================================================
--- e-util/ChangeLog	(revision 33821)
+++ e-util/ChangeLog	(working copy)
@@ -1,3 +1,12 @@
+2007-07-20  Hiroyuki Ikezoe  <poincare@ikezoe.net>
+
+	* e-util.h: Remove E_MAKE_TYPE macro.
+	* e-text-event-processor.c, 
+	  e-sorter.c,
+	  e-text-event-processor-emacs-like.c,
+	  e-sorter-array.c,
+	  e-bit-array.c: User G_DEFINE_TYPE instead of E_MAKE_TYPE.
+
 2007-07-06  Matthew Barnes  <mbarnes@redhat.com>
 
 	** Fixes part of bug #446894
Index: e-util/e-text-event-processor-emacs-like.c
===================================================================
--- e-util/e-text-event-processor-emacs-like.c	(revision 33821)
+++ e-util/e-text-event-processor-emacs-like.c	(working copy)
@@ -34,8 +34,7 @@
 static void e_text_event_processor_emacs_like_class_init	(ETextEventProcessorEmacsLikeClass	 *klass);
 static gint e_text_event_processor_emacs_like_event (ETextEventProcessor *tep, ETextEventProcessorEvent *event);
 
-#define PARENT_TYPE E_TEXT_EVENT_PROCESSOR_TYPE
-static ETextEventProcessorClass *parent_class = NULL;
+G_DEFINE_TYPE (ETextEventProcessorEmacsLike, e_text_event_processor_emacs_like, E_TEXT_EVENT_PROCESSOR_TYPE)
 
 /* The arguments we take */
 enum {
@@ -103,13 +102,6 @@
 
 };
 
-E_MAKE_TYPE (e_text_event_processor_emacs_like,
-	     "ETextEventProcessorEmacsLike",
-	     ETextEventProcessorEmacsLike,
-	     e_text_event_processor_emacs_like_class_init,
-	     e_text_event_processor_emacs_like_init,
-	     PARENT_TYPE)
-
 static void
 e_text_event_processor_emacs_like_class_init (ETextEventProcessorEmacsLikeClass *klass)
 {
@@ -117,8 +109,6 @@
 
   processor_class = (ETextEventProcessorClass*) klass;
 
-  parent_class = g_type_class_ref (PARENT_TYPE);
-
   processor_class->event = e_text_event_processor_emacs_like_event;
 }
 
Index: e-util/e-sorter-array.c
===================================================================
--- e-util/e-sorter-array.c	(revision 33821)
+++ e-util/e-sorter-array.c	(working copy)
@@ -31,11 +31,9 @@
 
 #define d(x)
 
-#define PARENT_TYPE E_SORTER_TYPE
-
 #define INCREMENT_AMOUNT 100
 
-static ESorterClass *parent_class;
+G_DEFINE_TYPE (ESorterArray, e_sorter_array, E_SORTER_TYPE)
 
 static void    	esa_sort               (ESorterArray *esa);
 static void    	esa_backsort           (ESorterArray *esa);
@@ -237,12 +235,10 @@
 }
 
 static void
-esa_class_init (ESorterArrayClass *klass)
+e_sorter_array_class_init (ESorterArrayClass *klass)
 {
 	ESorterClass *sorter_class = E_SORTER_CLASS(klass);
 
-	parent_class                            = g_type_class_ref (PARENT_TYPE);
-
 	sorter_class->model_to_sorted           = esa_model_to_sorted           ;
 	sorter_class->sorted_to_model           = esa_sorted_to_model           ;
 	sorter_class->get_model_to_sorted_array = esa_get_model_to_sorted_array ;
@@ -251,7 +247,7 @@
 }
 
 static void
-esa_init (ESorterArray *esa)
+e_sorter_array_init (ESorterArray *esa)
 {
 	esa->rows       = 0;
 	esa->compare    = NULL;
@@ -260,4 +256,3 @@
 	esa->backsorted = NULL;
 }
 
-E_MAKE_TYPE(e_sorter_array, "ESorterArray", ESorterArray, esa_class_init, esa_init, PARENT_TYPE)
Index: e-util/e-util.h
===================================================================
--- e-util/e-util.h	(revision 33821)
+++ e-util/e-util.h	(working copy)
@@ -37,30 +37,6 @@
 
 #include <e-util/e-util-marshal.h>
 
-#define E_MAKE_TYPE(l,str,t,ci,i,parent) \
-GType l##_get_type(void)\
-{\
-	static GType type = 0;				\
-	if (!type){					\
-		static GTypeInfo const object_info = {	\
-			sizeof (t##Class),		\
-							\
-			(GBaseInitFunc) NULL,		\
-			(GBaseFinalizeFunc) NULL,	\
-							\
-			(GClassInitFunc) ci,		\
-			(GClassFinalizeFunc) NULL,	\
-			NULL,	/* class_data */	\
-							\
-			sizeof (t),			\
-			0,	/* n_preallocs */	\
-			(GInstanceInitFunc) i,		\
-		};					\
-		type = g_type_register_static (parent, str, &object_info, 0);	\
-	}						\
-	return type;					\
-}
-
 typedef enum {
 	E_FOCUS_NONE,
 	E_FOCUS_CURRENT,
Index: e-util/e-bit-array.c
===================================================================
--- e-util/e-bit-array.c	(revision 33821)
+++ e-util/e-bit-array.c	(working copy)
@@ -28,8 +28,6 @@
 #include "e-bit-array.h"
 #include "e-util.h"
 
-#define PARENT_TYPE G_TYPE_OBJECT
-
 #define ONES ((guint32) 0xffffffff)
 
 #define BOX(n) ((n) / 32)
@@ -38,7 +36,7 @@
 #define BITMASK_LEFT(n) ((((n) % 32) == 0) ? 0 : (ONES << (32 - ((n) % 32))))
 #define BITMASK_RIGHT(n) ((guint32)(((guint32) ONES) >> ((n) % 32)))
 
-static GObjectClass *parent_class;
+G_DEFINE_TYPE (EBitArray, e_bit_array, G_TYPE_OBJECT)
 
 static void
 e_bit_array_insert_real(EBitArray *eba, int row)
@@ -151,8 +149,8 @@
 		g_free(eba->data);
 	eba->data = NULL;
 
-	if (G_OBJECT_CLASS (parent_class)->dispose)
-		(* G_OBJECT_CLASS (parent_class)->dispose) (object);
+	if (G_OBJECT_CLASS (e_bit_array_parent_class)->dispose)
+		(* G_OBJECT_CLASS (e_bit_array_parent_class)->dispose) (object);
 }
 
 /** 
@@ -411,16 +409,11 @@
 {
 	GObjectClass *object_class;
 
-	parent_class = g_type_class_ref (PARENT_TYPE);
-
 	object_class = G_OBJECT_CLASS(klass);
 
 	object_class->dispose = eba_dispose;
 }
 
-E_MAKE_TYPE(e_bit_array, "EBitArray", EBitArray,
-	    e_bit_array_class_init, e_bit_array_init, PARENT_TYPE)
-
 EBitArray *
 e_bit_array_new (int count)
 {
