? ChangeLog.new
? metadata/sj-metadata-marshal.c
? metadata/sj-metadata-marshal.h
? player/rb-recorder-gst.c.new
? podcast/Makefile
? podcast/Makefile.in
? podcast/rb-podcast-marshal.c
? podcast/rb-podcast-marshal.h
? sources/rb-playlist-source-recorder.c.new
? sources/rb-playlist-source-recorder.h.new
? sources/rb-playlist-source.c.new
? widgets/rb-dialog.c.new
Index: lib/rb-thread.c
===================================================================
RCS file: /cvs/gnome/rhythmbox/lib/rb-thread.c,v
retrieving revision 1.2
diff -p -u -r1.2 rb-thread.c
--- lib/rb-thread.c	19 Oct 2005 05:42:37 -0000	1.2
+++ lib/rb-thread.c	22 Nov 2005 16:21:18 -0000
@@ -1,4 +1,5 @@
-/*
+/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*-
+ *
  *  Copyright (C) 2005 Colin Walters <walters@verbum.org>
  *
  *  This program is free software; you can redistribute it and/or modify
@@ -18,10 +19,11 @@
  */
 
 #include <config.h>
-#include <libgnome/gnome-i18n.h>
 #include <string.h>
 #include <stdlib.h>
 
+#include <glib/gi18n.h>
+
 #include "rb-thread.h"
 #include "rb-debug.h"
 
@@ -69,6 +71,8 @@ struct RBThreadPrivate
 	gint exit_flag;
 };
 
+#define RB_THREAD_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), RB_TYPE_THREAD, RBThreadPrivate))
+
 enum
 {
 	PROP_0,
@@ -133,12 +137,14 @@ rb_thread_class_init (RBThreadClass *kla
 							      "User data",
 							      "User data",
 							       G_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY));
+
+	g_type_class_add_private (klass, sizeof (RBThreadPrivate));
 }
 
 static void
 rb_thread_init (RBThread *thread)
 {
-	thread->priv = g_new0 (RBThreadPrivate, 1);
+	thread->priv = RB_THREAD_GET_PRIVATE (thread);
 
 	thread->priv->action_queue = g_async_queue_new ();
 	thread->priv->result_queue = g_async_queue_new ();
@@ -172,7 +178,6 @@ rb_thread_finalize (GObject *object)
 		
 	g_async_queue_unref (thread->priv->action_queue);
 	g_async_queue_unref (thread->priv->result_queue);
-	g_free (thread->priv);
 
 	(* G_OBJECT_CLASS (parent_class)->finalize) (object);
 }
Index: player/rb-player-gst.c
===================================================================
RCS file: /cvs/gnome/rhythmbox/player/rb-player-gst.c,v
retrieving revision 1.49
diff -p -u -r1.49 rb-player-gst.c
--- player/rb-player-gst.c	17 Nov 2005 10:03:50 -0000	1.49
+++ player/rb-player-gst.c	22 Nov 2005 16:21:18 -0000
@@ -1,5 +1,5 @@
-/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */
-/*
+/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*-
+ *
  *  arch-tag: Implementation of GStreamer backends, with workarounds for bugs
  *
  *  Copyright (C) 2003 Jorn Baayen <jorn@nl.linux.org>
@@ -22,13 +22,14 @@
  */
 
 #include <config.h>
-#include <gdk/gdk.h>
-#include <gst/gst.h>
-#include <gst/gconf/gconf.h>
 #include <math.h>
 #include <string.h>
 #include <stdlib.h>
-#include <libgnome/gnome-i18n.h>
+
+#include <glib/gi18n.h>
+#include <gdk/gdk.h>
+#include <gst/gst.h>
+#include <gst/gconf/gconf.h>
 #include <libgnomevfs/gnome-vfs-ops.h>
 #include <libgnomevfs/gnome-vfs-utils.h>
 
@@ -69,6 +70,8 @@ struct RBPlayerPrivate
 	guint tick_timeout_id;
 };
 
+#define RB_PLAYER_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), RB_TYPE_PLAYER, RBPlayerPrivate))
+
 typedef enum
 {
 	EOS,
@@ -149,6 +152,8 @@ rb_player_class_init (RBPlayerClass *kla
 			      G_TYPE_NONE,
 			      1,
 			      G_TYPE_UINT);
+
+	g_type_class_add_private (klass, sizeof (RBPlayerPrivate));
 }
 
 static gboolean
@@ -168,7 +173,8 @@ rb_player_init (RBPlayer *mp)
 {
 	gint ms_period = 1000 / RB_PLAYER_TICK_HZ;
 
-	mp->priv = g_new0 (RBPlayerPrivate, 1);
+	mp->priv = RB_PLAYER_GET_PRIVATE (mp);
+
 	mp->priv->tick_timeout_id = g_timeout_add (ms_period, (GSourceFunc) tick_timeout, mp);
 	mp->priv->idle_info_ids = g_hash_table_new (NULL, NULL);
 	
@@ -195,8 +201,6 @@ rb_player_finalize (GObject *object)
 		
 		rb_player_gst_free_playbin (mp);
 	}
-
-	g_free (mp->priv);
 
 	G_OBJECT_CLASS (rb_player_parent_class)->finalize (object);
 }
Index: rhythmdb/rhythmdb-property-model.c
===================================================================
RCS file: /cvs/gnome/rhythmbox/rhythmdb/rhythmdb-property-model.c,v
retrieving revision 1.26
diff -p -u -r1.26 rhythmdb-property-model.c
--- rhythmdb/rhythmdb-property-model.c	22 Nov 2005 03:58:34 -0000	1.26
+++ rhythmdb/rhythmdb-property-model.c	22 Nov 2005 16:21:18 -0000
@@ -1,4 +1,5 @@
-/* 
+/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*-
+ * 
  *  arch-tag: Implementation of RhythmDB property GtkTreeModel
  *
  *  Copyright (C) 2003 Colin Walters <walters@gnome.org>
@@ -24,7 +25,7 @@
 #include <stdlib.h>
 #include <string.h>
 
-#include <libgnome/gnome-i18n.h>
+#include <glib/gi18n.h>
 #include "rhythmdb-property-model.h"
 #include "rb-debug.h"
 #include "gsequence.h"
@@ -156,6 +157,8 @@ struct RhythmDBPropertyModelPrivate
 	guint syncing_id;
 };
 
+#define RHYTHMDB_PROPERTY_MODEL_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), RHYTHMDB_TYPE_PROPERTY_MODEL, RhythmDBPropertyModelPrivate))
+
 enum
 {
 	PRE_ROW_DELETION,
@@ -237,6 +240,7 @@ rhythmdb_property_model_class_init (Rhyt
 							      RHYTHMDB_TYPE_QUERY_MODEL,
 							      G_PARAM_READWRITE));
 
+	g_type_class_add_private (klass, sizeof (RhythmDBPropertyModelPrivate));
 }
 
 static void
@@ -380,7 +384,7 @@ rhythmdb_property_model_get_property (GO
 static void
 rhythmdb_property_model_init (RhythmDBPropertyModel *model)
 {
-	model->priv = g_new0 (RhythmDBPropertyModelPrivate, 1);
+	model->priv = RHYTHMDB_PROPERTY_MODEL_GET_PRIVATE (model);
 
 	model->priv->property_memchunk = g_mem_chunk_new ("RhythmDBPropertyModel property memchunk",
 							  sizeof (RhythmDBPropertyModelEntry),
@@ -428,8 +432,6 @@ rhythmdb_property_model_finalize (GObjec
 
 	if (model->priv->query_model)
 		g_object_unref (G_OBJECT (model->priv->query_model));
-
-	g_free (model->priv);
 
 	G_OBJECT_CLASS (rhythmdb_property_model_parent_class)->finalize (object);
 }
Index: rhythmdb/rhythmdb-query-model.c
===================================================================
RCS file: /cvs/gnome/rhythmbox/rhythmdb/rhythmdb-query-model.c,v
retrieving revision 1.83
diff -p -u -r1.83 rhythmdb-query-model.c
--- rhythmdb/rhythmdb-query-model.c	16 Nov 2005 04:14:44 -0000	1.83
+++ rhythmdb/rhythmdb-query-model.c	22 Nov 2005 16:21:18 -0000
@@ -1,4 +1,5 @@
-/*
+/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*-
+ *
  *  arch-tag: Implementation of RhythmDB query result GtkTreeModel
  *
  *  Copyright (C) 2003 Colin Walters <walters@gnome.org>
@@ -167,6 +168,8 @@ struct RhythmDBQueryModelPrivate
 	gboolean reorder_drag_and_drop;
 };
 
+#define RHYTHMDB_QUERY_MODEL_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), RHYTHMDB_TYPE_QUERY_MODEL, RhythmDBQueryModelPrivate))
+
 enum
 {
 	PROP_0,
@@ -300,6 +303,8 @@ rhythmdb_query_model_class_init (RhythmD
 			      NULL, NULL,
 			      g_cclosure_marshal_VOID__VOID,
 			      G_TYPE_NONE, 0);
+
+	g_type_class_add_private (klass, sizeof (RhythmDBQueryModelPrivate));
 }
 
 static void
@@ -420,7 +425,7 @@ rhythmdb_query_model_get_property (GObje
 static void
 rhythmdb_query_model_init (RhythmDBQueryModel *model)
 {
-	model->priv = g_new0 (RhythmDBQueryModelPrivate, 1);
+	model->priv = RHYTHMDB_QUERY_MODEL_GET_PRIVATE (model);
 
 	model->priv->stamp = g_random_int ();
 
@@ -501,8 +506,6 @@ rhythmdb_query_model_finalize (GObject *
 		rhythmdb_query_free (model->priv->query);
 	if (model->priv->original_query)
 		rhythmdb_query_free (model->priv->original_query);
-
-	g_free (model->priv);
 
 	G_OBJECT_CLASS (rhythmdb_query_model_parent_class)->finalize (object);
 }
Index: rhythmdb/rhythmdb-tree.c
===================================================================
RCS file: /cvs/gnome/rhythmbox/rhythmdb/rhythmdb-tree.c,v
retrieving revision 1.82
diff -p -u -r1.82 rhythmdb-tree.c
--- rhythmdb/rhythmdb-tree.c	17 Nov 2005 16:50:25 -0000	1.82
+++ rhythmdb/rhythmdb-tree.c	22 Nov 2005 16:21:18 -0000
@@ -1,4 +1,5 @@
-/* 
+/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*-
+ * 
  *  arch-tag: Implementation of RhythmDB tree-structured database
  *
  *  Copyright (C) 2003, 2004 Colin Walters <walters@verbum.org>
@@ -33,7 +34,7 @@
 #include <string.h>
 #include <glib/gprintf.h>
 #include <glib/gatomic.h>
-#include <libgnome/gnome-i18n.h>
+#include <glib/gi18n.h>
 #include <gtk/gtkliststore.h>
 #include <libxml/entities.h>
 #include <libxml/SAX.h>
@@ -121,6 +122,8 @@ struct RhythmDBTreePrivate
 	guint idle_load_id;
 };
 
+#define RHYTHMDB_TREE_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), RHYTHMDB_TYPE_TREE, RhythmDBTreePrivate))
+
 enum
 {
 	PROP_0,
@@ -147,12 +150,14 @@ rhythmdb_tree_class_init (RhythmDBTreeCl
 	rhythmdb_class->impl_entry_foreach = rhythmdb_tree_entry_foreach;
 	rhythmdb_class->impl_evaluate_query = rhythmdb_tree_evaluate_query;
 	rhythmdb_class->impl_do_full_query = rhythmdb_tree_do_full_query;
+
+	g_type_class_add_private (klass, sizeof (RhythmDBTreePrivate));
 }
 
 static void
 rhythmdb_tree_init (RhythmDBTree *db)
 {
-	db->priv = g_new0 (RhythmDBTreePrivate, 1);
+	db->priv = RHYTHMDB_TREE_GET_PRIVATE (db);
 
 	db->priv->entries = g_hash_table_new (g_str_hash, g_str_equal);
 
@@ -190,8 +195,6 @@ rhythmdb_tree_finalize (GObject *object)
 	g_mem_chunk_destroy (db->priv->property_memchunk);
 
 	g_hash_table_destroy (db->priv->genres);
-
-	g_free (db->priv);
 
 	G_OBJECT_CLASS (rhythmdb_tree_parent_class)->finalize (object);
 }
Index: rhythmdb/rhythmdb.c
===================================================================
RCS file: /cvs/gnome/rhythmbox/rhythmdb/rhythmdb.c,v
retrieving revision 1.134
diff -p -u -r1.134 rhythmdb.c
--- rhythmdb/rhythmdb.c	20 Nov 2005 06:16:07 -0000	1.134
+++ rhythmdb/rhythmdb.c	22 Nov 2005 16:21:18 -0000
@@ -41,7 +41,7 @@
 #include <libgnomevfs/gnome-vfs-utils.h>
 #include <libgnomevfs/gnome-vfs-file-info.h>
 #include <libgnomevfs/gnome-vfs-ops.h>
-#include <libgnome/gnome-i18n.h>
+#include <glib/gi18n.h>
 #include "rhythmdb-marshal.h"
 #include "rb-file-helpers.h"
 #include "rb-debug.h"
@@ -109,6 +109,8 @@ struct RhythmDBPrivate
 	gboolean dirty;
 };
 
+#define RHYTHMDB_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), RHYTHMDB_TYPE, RhythmDBPrivate))
+
 struct RhythmDBQueryThreadData
 {
 	RhythmDB *db;
@@ -340,6 +342,8 @@ rhythmdb_class_init (RhythmDBClass *klas
 			      G_TYPE_NONE,
 			      1,
 			      G_TYPE_BOOLEAN);
+
+	g_type_class_add_private (klass, sizeof (RhythmDBPrivate));
 }
 
 static gboolean
@@ -444,7 +448,7 @@ rhythmdb_init (RhythmDB *db)
 	guint i;
 	GEnumClass *prop_class;
 
-	db->priv = g_new0 (RhythmDBPrivate, 1);
+	db->priv = RHYTHMDB_GET_PRIVATE (db);
 
 	db->priv->action_queue = g_async_queue_new ();
 	db->priv->event_queue = g_async_queue_new ();
@@ -640,8 +644,6 @@ rhythmdb_finalize (GObject *object)
 	rb_refstring_unref (db->priv->octet_stream_str);
 
 	g_free (db->priv->name);
-
-	g_free (db->priv);
 	
 	G_OBJECT_CLASS (rhythmdb_parent_class)->finalize (object);
 }
Index: sources/rb-daap-source.c
===================================================================
RCS file: /cvs/gnome/rhythmbox/sources/rb-daap-source.c,v
retrieving revision 1.11
diff -p -u -r1.11 rb-daap-source.c
--- sources/rb-daap-source.c	22 Nov 2005 04:14:16 -0000	1.11
+++ sources/rb-daap-source.c	22 Nov 2005 16:21:18 -0000
@@ -1,4 +1,5 @@
-/*
+/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*-
+ *
  *  Implementation of DAAP (iTunes Music Sharing) source object
  *
  *  Copyright (C) 2005 Charles Schmidt <cschmidt2@emich.edu>
@@ -21,13 +22,13 @@
 
 #include <config.h>
 
-#include <gtk/gtktreeview.h>
-#include <gtk/gtkicontheme.h>
-#include <gtk/gtkiconfactory.h>
 #include <string.h>
+
+#include <glib/gi18n.h>
+#include <gtk/gtk.h>
+
 #include "rhythmdb.h"
 #include "rb-shell.h"
-#include <libgnome/gnome-i18n.h>
 #include "eel-gconf-extensions.h"
 #include "rb-daap-source.h"
 #include "rb-stock-icons.h"
@@ -85,6 +86,7 @@ struct RBDAAPSourcePrivate
 	GSList *playlist_sources;
 };
 
+#define RB_DAAP_SOURCE_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), RB_TYPE_DAAP_SOURCE, RBDAAPSourcePrivate))
 
 enum {
 	PROP_0,
@@ -162,12 +164,14 @@ rb_daap_source_class_init (RBDAAPSourceC
 							       "Whether the share is password protected",
 							       FALSE,
 							       G_PARAM_READWRITE));
+
+	g_type_class_add_private (klass, sizeof (RBDAAPSourcePrivate));
 }
 
 static void
 rb_daap_source_init (RBDAAPSource *source)
 {
-	source->priv = g_new0 (RBDAAPSourcePrivate, 1);
+	source->priv = RB_DAAP_SOURCE_GET_PRIVATE (source);
 }
 
 
@@ -182,8 +186,6 @@ rb_daap_source_dispose (GObject *object)
 	
 		g_free (source->priv->service_name);
 		g_free (source->priv->host);
-		g_free (source->priv);
-		source->priv = NULL;
 	}
 
 	G_OBJECT_CLASS (rb_daap_source_parent_class)->dispose (object);
Index: sources/rb-iradio-source.c
===================================================================
RCS file: /cvs/gnome/rhythmbox/sources/rb-iradio-source.c,v
retrieving revision 1.93
diff -p -u -r1.93 rb-iradio-source.c
--- sources/rb-iradio-source.c	20 Nov 2005 06:16:08 -0000	1.93
+++ sources/rb-iradio-source.c	22 Nov 2005 16:21:18 -0000
@@ -1,4 +1,5 @@
-/* 
+/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*-
+ * 
  *  arch-tag: Implementation of Internet Radio source object
  *
  *  Copyright (C) 2002,2003 Colin Walters <walters@debian.org>
@@ -20,12 +21,14 @@
  */
 
 #include <config.h>
+
+#include <string.h>
+
+#include <glib/gi18n.h>
 #include <gtk/gtk.h>
 #include <glade/glade.h>
-#include <libgnome/gnome-i18n.h>
 #include <libgnomevfs/gnome-vfs-uri.h>
 #include <libxml/tree.h>
-#include <string.h>
 
 #include "rb-iradio-source.h"
 
@@ -146,6 +149,8 @@ struct RBIRadioSourcePrivate
 	RhythmDBQueryModel *all_query;
 };
 
+#define RB_IRADIO_SOURCE_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), RB_TYPE_IRADIO_SOURCE, RBIRadioSourcePrivate))
+
 static const GtkTargetEntry stations_view_drag_types[] = {
 	{  "text/uri-list", 0, 0 },
 	{  "_NETSCAPE_URL", 0, 1 },
@@ -228,14 +233,16 @@ rb_iradio_source_class_init (RBIRadioSou
 							    G_MAXINT,
 							    RHYTHMDB_ENTRY_TYPE_IRADIO_STATION,
 							    G_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY));
-	
+
+	g_type_class_add_private (klass, sizeof (RBIRadioSourcePrivate));
 }
 
 static void
 rb_iradio_source_init (RBIRadioSource *source)
 {
 	gint size;
-	source->priv = g_new0 (RBIRadioSourcePrivate, 1);
+
+	source->priv = RB_IRADIO_SOURCE_GET_PRIVATE (source);
 
 	source->priv->vbox = gtk_vbox_new (FALSE, 5);
 
@@ -284,8 +291,6 @@ rb_iradio_source_finalize (GObject *obje
 	g_free (source->priv->song);
 	g_free (source->priv->title);
 	g_free (source->priv->status);
-
-	g_free (source->priv);
 
 	G_OBJECT_CLASS (parent_class)->finalize (object);
 }
Index: sources/rb-library-source.c
===================================================================
RCS file: /cvs/gnome/rhythmbox/sources/rb-library-source.c,v
retrieving revision 1.126
diff -p -u -r1.126 rb-library-source.c
--- sources/rb-library-source.c	22 Nov 2005 12:57:41 -0000	1.126
+++ sources/rb-library-source.c	22 Nov 2005 16:21:18 -0000
@@ -1,4 +1,5 @@
-/*
+/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*-
+ *
  *  arch-tag: Implementation of local file source object
  *
  *  Copyright (C) 2002 Jorn Baayen <jorn@nl.linux.org>
@@ -21,11 +22,12 @@
  */
 
 #include <config.h>
+#include <string.h>
+
 #include <gtk/gtk.h>
-#include <libgnome/gnome-i18n.h>
+#include <glib/gi18n.h>
 #include <libgnomevfs/gnome-vfs.h>
 #include <glade/glade.h>
-#include <string.h>
 
 #include "rb-source.h"
 #include "rb-library-source.h"
@@ -195,6 +197,8 @@ struct RBLibrarySourcePrivate
 	guint browser_view_notify_id;
 };
 
+#define RB_LIBRARY_SOURCE_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), RB_TYPE_LIBRARY_SOURCE, RBLibrarySourcePrivate))
+
 static GtkActionEntry rb_library_source_actions [] =
 {
 	{ "LibrarySrcChooseGenre", NULL, N_("Browse This _Genre"), NULL,
@@ -310,6 +314,7 @@ rb_library_source_class_init (RBLibraryS
 							      CONF_STATE_LIBRARY_SORTING,
 							      G_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY));
 
+	g_type_class_add_private (klass, sizeof (RBLibrarySourcePrivate));
 }
 
 static void
@@ -407,7 +412,7 @@ rb_library_source_ui_pref_changed (GConf
 static void
 rb_library_source_init (RBLibrarySource *source)
 {
-	source->priv = g_new0 (RBLibrarySourcePrivate, 1);
+	source->priv = RB_LIBRARY_SOURCE_GET_PRIVATE (source);
 
 	/* Drag'n'Drop */
 
@@ -456,8 +461,6 @@ rb_library_source_finalize (GObject *obj
 	g_free (source->priv->cached_sorting_type);
 	if (source->priv->cached_all_query)
 		g_object_unref (G_OBJECT (source->priv->cached_all_query));
-
-	g_free (source->priv);
 
 	G_OBJECT_CLASS (parent_class)->finalize (object);
 }
Index: sources/rb-playlist-source.c
===================================================================
RCS file: /cvs/gnome/rhythmbox/sources/rb-playlist-source.c,v
retrieving revision 1.85
diff -p -u -r1.85 rb-playlist-source.c
--- sources/rb-playlist-source.c	22 Nov 2005 10:28:57 -0000	1.85
+++ sources/rb-playlist-source.c	22 Nov 2005 16:21:18 -0000
@@ -22,13 +22,15 @@
  */
 
 #include <config.h>
+
+#include <unistd.h>
+#include <string.h>
+
+#include <libxml/tree.h>
+#include <glib/gi18n.h>
 #include <gtk/gtk.h>
-#include <libgnome/gnome-i18n.h>
 #include <libgnomevfs/gnome-vfs-uri.h>
 #include <totem-pl-parser.h>
-#include <libxml/tree.h>
-#include <unistd.h>
-#include <string.h>
 
 #include "rb-stock-icons.h"
 #include "rb-entry-view.h"
@@ -142,6 +144,8 @@ struct RBPlaylistSourcePrivate
 	char *title;
 };
 
+#define RB_PLAYLIST_SOURCE_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), RB_TYPE_PLAYLIST_SOURCE, RBPlaylistSourcePrivate))
+
 enum
 {
 	PROP_0,
@@ -226,6 +230,7 @@ rb_playlist_source_class_init (RBPlaylis
 							   -1, G_MAXINT, -1,
 							   G_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY));
 
+	g_type_class_add_private (klass, sizeof (RBPlaylistSourcePrivate));
 }
 
 static void
@@ -363,7 +368,7 @@ rb_playlist_source_songs_show_popup_cb (
 static void
 rb_playlist_source_init (RBPlaylistSource *source)
 {
-	source->priv = g_new0 (RBPlaylistSourcePrivate, 1);
+	source->priv = RB_PLAYLIST_SOURCE_GET_PRIVATE (source);
 }
 
 static void
@@ -376,9 +381,6 @@ rb_playlist_source_dispose (GObject *obj
 		g_hash_table_destroy (source->priv->entries);
 		g_object_unref (source->priv->db);
 		g_free (source->priv->title);
-	
-		g_free (source->priv);
-		source->priv = NULL;
 	}
 
 	G_OBJECT_CLASS (rb_playlist_source_parent_class)->dispose (object);
Index: sources/rb-podcast-source.c
===================================================================
RCS file: /cvs/gnome/rhythmbox/sources/rb-podcast-source.c,v
retrieving revision 1.24
diff -p -u -r1.24 rb-podcast-source.c
--- sources/rb-podcast-source.c	22 Nov 2005 06:22:43 -0000	1.24
+++ sources/rb-podcast-source.c	22 Nov 2005 16:21:18 -0000
@@ -268,6 +268,8 @@ struct RBPodcastSourcePrivate
 	RBPodcastManager *podcast_mg;	
 };
 
+#define RB_PODCAST_SOURCE_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), RB_TYPE_PODCAST_SOURCE, RBPodcastSourcePrivate))
+
 static GtkActionEntry rb_podcast_source_actions [] =
 {
 	{ "PodcastSrcDownloadPost", NULL, N_("Download Podcast _Episode"), NULL,
@@ -355,16 +357,15 @@ rb_podcast_source_class_init (RBPodcastS
 					                      RB_TYPE_PODCAST_MANAGER,
 					                      G_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY));
 
-	
-	
-	
+	g_type_class_add_private (klass, sizeof (RBPodcastSourcePrivate));
 }
 
 static void
 rb_podcast_source_init (RBPodcastSource *source)
 {
 	GtkWidget *dummy = gtk_tree_view_new ();
-	source->priv = g_new0 (RBPodcastSourcePrivate, 1);
+
+	source->priv = RB_PODCAST_SOURCE_GET_PRIVATE (source);
 
 	source->priv->selected_feeds = NULL;
 	source->priv->vbox = gtk_vbox_new (FALSE, 5);
@@ -427,9 +428,6 @@ rb_podcast_source_finalize (GObject *obj
 
        if (source->priv->cached_all_query)
 		g_object_unref (G_OBJECT (source->priv->cached_all_query));
-
-	g_free (source->priv);
-
 
 	G_OBJECT_CLASS (rb_podcast_source_parent_class)->finalize (object);
 }
Index: sources/rb-sourcelist-model.c
===================================================================
RCS file: /cvs/gnome/rhythmbox/sources/rb-sourcelist-model.c,v
retrieving revision 1.14
diff -p -u -r1.14 rb-sourcelist-model.c
--- sources/rb-sourcelist-model.c	16 Nov 2005 02:27:37 -0000	1.14
+++ sources/rb-sourcelist-model.c	22 Nov 2005 16:21:18 -0000
@@ -23,21 +23,24 @@
 
 #include "config.h"
 
-#include <gtk/gtk.h>
-#include <gdk/gdk.h>
-#include <libgnome/gnome-i18n.h>
 #include <string.h>
 
+#include <glib/gi18n.h>
+#include <gdk/gdk.h>
+#include <gtk/gtk.h>
+
 #include "rb-sourcelist-model.h"
 #include "rb-tree-dnd.h"
 #include "rb-debug.h"
 #include "rb-marshal.h"
 #include "rb-playlist-source.h"
 
-struct RBSourceListModelPriv
+struct RBSourceListModelPrivate
 {
 };
 
+#define RB_SOURCELIST_MODEL_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), RB_TYPE_SOURCELIST_MODEL, RBSourceListModelPrivate))
+
 enum
 {
 	DROP_RECEIVED,
@@ -129,6 +132,8 @@ rb_sourcelist_model_class_init (RBSource
 		sourcelist_drag_target_list = 
 			gtk_target_list_new (sourcelist_targets,
 					     G_N_ELEMENTS (sourcelist_targets));
+
+	g_type_class_add_private (class, sizeof (RBSourceListModelPrivate));
 }
 
 static void
@@ -169,16 +174,12 @@ rb_sourcelist_model_set_dnd_targets (RBS
 static void
 rb_sourcelist_model_init (RBSourceListModel *model)
 {
-	model->priv = g_new0 (RBSourceListModelPriv, 1);
+	model->priv = RB_SOURCELIST_MODEL_GET_PRIVATE (model);
 }
 
 static void
 rb_sourcelist_model_finalize (GObject *object)
 {
-	RBSourceListModel *model = RB_SOURCELIST_MODEL (object);
-
-	g_free (model->priv);
-
 	G_OBJECT_CLASS (rb_sourcelist_model_parent_class)->finalize (object);
 }
 
Index: sources/rb-sourcelist-model.h
===================================================================
RCS file: /cvs/gnome/rhythmbox/sources/rb-sourcelist-model.h,v
retrieving revision 1.5
diff -p -u -r1.5 rb-sourcelist-model.h
--- sources/rb-sourcelist-model.h	25 Aug 2005 02:47:33 -0000	1.5
+++ sources/rb-sourcelist-model.h	22 Nov 2005 16:21:18 -0000
@@ -36,13 +36,13 @@ G_BEGIN_DECLS
 #define RB_IS_SOURCELIST_MODEL_CLASS(klass)	(G_TYPE_CHECK_CLASS_TYPE ((obj), RB_TYPE_SOURCELIST_MODEL))
 #define RB_SOURCELIST_MODEL_GET_CLASS(obj)	(G_TYPE_INSTANCE_GET_CLASS ((obj), RB_TYPE_SOURCELIST_MODEL, RBSourceListModelClass))
 
-typedef struct RBSourceListModelPriv RBSourceListModelPriv;
+typedef struct RBSourceListModelPrivate RBSourceListModelPrivate;
 
 typedef struct RBSourceListModel
 {
 	GtkTreeModelFilter parent;
 
-	RBSourceListModelPriv *priv;
+	RBSourceListModelPrivate *priv;
 } RBSourceListModel;
 
 typedef struct RBSourceListModelClass
Index: sources/rb-sourcelist.c
===================================================================
RCS file: /cvs/gnome/rhythmbox/sources/rb-sourcelist.c,v
retrieving revision 1.25
diff -p -u -r1.25 rb-sourcelist.c
--- sources/rb-sourcelist.c	20 Nov 2005 05:28:47 -0000	1.25
+++ sources/rb-sourcelist.c	22 Nov 2005 16:21:18 -0000
@@ -1,4 +1,5 @@
-/*
+/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*-
+ *
  * arch-tag: Implementation of main "Sources" display widget
  *
  * Copyright (C) 2003,2004 Colin Walters <walters@verbum.org>
@@ -22,12 +23,13 @@
 
 #include "config.h"
 
-#include <gtk/gtk.h>
-#include <gdk/gdk.h>
-#include <libgnome/gnome-i18n.h>
 #include <unistd.h>
 #include <string.h>
 
+#include <glib/gi18n.h>
+#include <gdk/gdk.h>
+#include <gtk/gtk.h>
+
 #include "rb-sourcelist.h"
 #include "rb-sourcelist-model.h"
 #include "rb-debug.h"
@@ -37,7 +39,7 @@
 #include "rb-tree-dnd.h"
 #include "rb-util.h"
 
-struct RBSourceListPriv
+struct RBSourceListPrivate
 {
 	GtkWidget *treeview;
 	GtkCellRenderer *title_renderer;
@@ -54,6 +56,8 @@ struct RBSourceListPriv
 	RBShell *shell;
 };
 
+#define RB_SOURCELIST_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), RB_TYPE_SOURCELIST, RBSourceListPrivate))
+
 enum
 {
 	PROP_0,
@@ -183,6 +187,8 @@ rb_sourcelist_class_init (RBSourceListCl
 			      G_TYPE_BOOLEAN,
 			      1,
 			      G_TYPE_POINTER);
+
+	g_type_class_add_private (class, sizeof (RBSourceListPrivate));
 }
 
 static void
@@ -190,7 +196,7 @@ rb_sourcelist_init (RBSourceList *source
 {
 	GtkCellRenderer *renderer;
 
-	sourcelist->priv = g_new0 (RBSourceListPriv, 1);
+	sourcelist->priv = RB_SOURCELIST_GET_PRIVATE (sourcelist);
 
 	sourcelist->priv->filter_model = rb_sourcelist_model_new ();
 	sourcelist->priv->real_model = gtk_tree_model_filter_get_model (GTK_TREE_MODEL_FILTER (sourcelist->priv->filter_model));
@@ -261,12 +267,9 @@ rb_sourcelist_init (RBSourceList *source
 static void
 rb_sourcelist_finalize (GObject *object)
 {
-	RBSourceList *sourcelist = RB_SOURCELIST (object);
-
-	g_free (sourcelist->priv);
-
 	G_OBJECT_CLASS (rb_sourcelist_parent_class)->finalize (object);
 }
+
 static void
 rb_sourcelist_set_property (GObject *object,
 			    guint prop_id,
Index: sources/rb-sourcelist.h
===================================================================
RCS file: /cvs/gnome/rhythmbox/sources/rb-sourcelist.h,v
retrieving revision 1.6
diff -p -u -r1.6 rb-sourcelist.h
--- sources/rb-sourcelist.h	6 Sep 2005 07:15:34 -0000	1.6
+++ sources/rb-sourcelist.h	22 Nov 2005 16:21:18 -0000
@@ -37,13 +37,13 @@ G_BEGIN_DECLS
 #define RB_IS_SOURCELIST_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((obj), RB_TYPE_SOURCELIST))
 #define RB_SOURCELIST_GET_CLASS(obj)  (G_TYPE_INSTANCE_GET_CLASS ((obj), RB_TYPE_SOURCELIST, RBSourceListClass))
 
-typedef struct RBSourceListPriv RBSourceListPriv;
+typedef struct RBSourceListPrivate RBSourceListPrivate;
 
 typedef struct RBSourceList
 {
-	GtkScrolledWindow parent;
+	GtkScrolledWindow    parent;
 
-	RBSourceListPriv *priv;
+	RBSourceListPrivate *priv;
 } RBSourceList;
 
 typedef struct RBSourceListClass
Index: widgets/disclosure-widget.c
===================================================================
RCS file: /cvs/gnome/rhythmbox/widgets/disclosure-widget.c,v
retrieving revision 1.3
diff -p -u -r1.3 disclosure-widget.c
--- widgets/disclosure-widget.c	15 Jul 2005 06:48:13 -0000	1.3
+++ widgets/disclosure-widget.c	22 Nov 2005 16:21:19 -0000
@@ -26,8 +26,8 @@
 #include <config.h>
 #endif
 
+#include <glib/gi18n.h>
 #include <gtk/gtkexpander.h>
-#include <libgnome/gnome-i18n.h>
 
 #include "disclosure-widget.h"
 
@@ -43,6 +43,8 @@ struct CDDBDisclosurePrivate {
 	char *hidden;
 };
 
+#define CDDB_DISCLOSURE_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), CDDB_DISCLOSURE_TYPE, CDDBDisclosurePrivate))
+
 static void
 finalize (GObject *object)
 {
@@ -57,9 +59,6 @@ finalize (GObject *object)
 		g_object_unref (G_OBJECT (disclosure->priv->container));
 	}
 
-	g_free (disclosure->priv);
-	disclosure->priv = NULL;
-
 	G_OBJECT_CLASS (parent_class)->finalize (object);
 }
 
@@ -71,12 +70,14 @@ class_init (CDDBDisclosureClass *klass)
 	parent_class = g_type_class_peek_parent (klass);
 
 	object_class->finalize = finalize;
+
+	g_type_class_add_private (klass, sizeof (CDDBDisclosurePrivate));
 }
 
 static void
 init (CDDBDisclosure *disclosure)
 {
-	disclosure->priv = g_new0 (CDDBDisclosurePrivate, 1);
+	disclosure->priv = CDDB_DISCLOSURE_GET_PRIVATE (disclosure);
 }
 
 GType
Index: widgets/rb-cell-renderer-rating.c
===================================================================
RCS file: /cvs/gnome/rhythmbox/widgets/rb-cell-renderer-rating.c,v
retrieving revision 1.7
diff -p -u -r1.7 rb-cell-renderer-rating.c
--- widgets/rb-cell-renderer-rating.c	8 Feb 2005 19:04:42 -0000	1.7
+++ widgets/rb-cell-renderer-rating.c	22 Nov 2005 16:21:19 -0000
@@ -1,4 +1,5 @@
-/* rb-cell-renderer-rating.c
+/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*-
+ * rb-cell-renderer-rating.c
 
  * arch-tag: Implementation of star rating GtkTreeView cell renderer
  *
@@ -23,12 +24,11 @@
  */
 
 #include <config.h>
+
 #include <stdlib.h>
-#include <libgnome/gnome-i18n.h>
-#include <gtk/gtklabel.h>
-#include <gtk/gtkwidget.h>
-#include <gtk/gtktreeview.h>
-#include <gtk/gtkiconfactory.h>
+
+#include <glib/gi18n.h>
+#include <gtk/gtk.h>
 
 #include "rb-cell-renderer-rating.h"
 #include "rb-marshal.h"
@@ -77,6 +77,8 @@ struct RBCellRendererRatingClassPrivate
 	RBRatingPixbufs *pixbufs;	
 };
 
+#define RB_CELL_RENDERER_RATING_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), RB_TYPE_CELL_RENDERER_RATING, RBCellRendererRatingPrivate))
+
 
 enum 
 {
@@ -126,7 +128,7 @@ static void
 rb_cell_renderer_rating_init (RBCellRendererRating *cellrating)
 {
 
-	cellrating->priv = g_new0 (RBCellRendererRatingPrivate, 1);
+	cellrating->priv = RB_CELL_RENDERER_RATING_GET_PRIVATE (cellrating);
 
 	/* set the renderer able to be activated */
 	GTK_CELL_RENDERER (cellrating)->mode = GTK_CELL_RENDERER_MODE_ACTIVATABLE;
@@ -166,6 +168,8 @@ rb_cell_renderer_rating_class_init (RBCe
 			      2,
 			      G_TYPE_STRING,
 			      G_TYPE_DOUBLE);
+
+	g_type_class_add_private (class, sizeof (RBCellRendererRatingPrivate));
 }
 
 static void
@@ -174,8 +178,6 @@ rb_cell_renderer_rating_finalize (GObjec
 	RBCellRendererRating *cellrating;
 
 	cellrating = RB_CELL_RENDERER_RATING (object);
-
-	g_free (cellrating->priv);
 
 	G_OBJECT_CLASS (parent_class)->finalize (object);
 }
Index: widgets/rb-druid.c
===================================================================
RCS file: /cvs/gnome/rhythmbox/widgets/rb-druid.c,v
retrieving revision 1.9
diff -p -u -r1.9 rb-druid.c
--- widgets/rb-druid.c	7 Jun 2005 22:09:15 -0000	1.9
+++ widgets/rb-druid.c	22 Nov 2005 16:21:19 -0000
@@ -1,4 +1,5 @@
-/* 
+/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*-
+ * 
  * arch-tag: Implementation of Rhythmbox first-time druid
  *
  *  Copyright (C) 2003,2004 Colin Walters <walters@debian.org>
@@ -19,9 +20,10 @@
  *
  */
 
-#include <gtk/gtk.h>
 #include <config.h>
-#include <libgnome/gnome-i18n.h>
+
+#include <glib/gi18n.h>
+#include <gtk/gtk.h>
 #include <libgnomeui/gnome-druid.h>
 #include <libgnomeui/gnome-druid-page-edge.h>
 #include <libgnomeui/gnome-druid-page-standard.h>
@@ -65,6 +67,8 @@ struct RBDruidPrivate
 	GtkWidget *path_entry;
 };
 
+#define RB_DRUID_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), RB_TYPE_DRUID, RBDruidPrivate))
+
 enum
 {
 	PROP_0,
@@ -120,13 +124,16 @@ rb_druid_class_init (RBDruidClass *klass
 							      "RhythmDB object",
 							      RHYTHMDB_TYPE,
 							      G_PARAM_READWRITE));
+
+	g_type_class_add_private (klass, sizeof (RBDruidPrivate));
 }
 
 static void
 rb_druid_init (RBDruid *druid)
 {
 	GladeXML *xml;
-	druid->priv = g_new0 (RBDruidPrivate, 1);
+
+	druid->priv = RB_DRUID_GET_PRIVATE (druid);
 
 	xml = rb_glade_xml_new ("druid.glade", "druid_toplevel", druid);
 
@@ -162,8 +169,6 @@ rb_druid_finalize (GObject *object)
 
 	if (druid->priv->window)
 		gtk_widget_destroy (GTK_WIDGET (druid->priv->window));
-
-	g_free (druid->priv);
 
 	G_OBJECT_CLASS (parent_class)->finalize (object);
 }
Index: widgets/rb-entry-view.c
===================================================================
RCS file: /cvs/gnome/rhythmbox/widgets/rb-entry-view.c,v
retrieving revision 1.112
diff -p -u -r1.112 rb-entry-view.c
--- widgets/rb-entry-view.c	22 Nov 2005 06:22:44 -0000	1.112
+++ widgets/rb-entry-view.c	22 Nov 2005 16:21:19 -0000
@@ -20,14 +20,16 @@
  *
  */
 
-#include <gtk/gtk.h>
 #include <config.h>
-#include <libgnome/gnome-i18n.h>
-#include <libgnomevfs/gnome-vfs-utils.h>
+
 #include <string.h>
 #include <stdlib.h>
 #include <math.h>
 
+#include <glib/gi18n.h>
+#include <gtk/gtk.h>
+#include <libgnomevfs/gnome-vfs-utils.h>
+
 #include "rb-tree-dnd.h"
 #include "rb-entry-view.h"
 #include "rb-dialog.h"
@@ -175,6 +177,8 @@ struct RBEntryViewPrivate
 	gboolean idle;
 };
 
+#define RB_ENTRY_VIEW_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), RB_TYPE_ENTRY_VIEW, RBEntryViewPrivate))
+
 enum
 {
 	ENTRY_ADDED,
@@ -403,6 +407,8 @@ rb_entry_view_class_init (RBEntryViewCla
 			      g_cclosure_marshal_VOID__VOID,
 			      G_TYPE_NONE,
 			      0);
+
+	g_type_class_add_private (klass, sizeof (RBEntryViewPrivate));
 }
 
 static void
@@ -410,7 +416,7 @@ rb_entry_view_init (RBEntryView *view)
 {
 	GtkIconTheme* icon_theme;
 	
-	view->priv = g_new0 (RBEntryViewPrivate, 1);
+	view->priv = RB_ENTRY_VIEW_GET_PRIVATE (view);
 
 	icon_theme = gtk_icon_theme_get_default ();
 
@@ -464,8 +470,6 @@ rb_entry_view_finalize (GObject *object)
 	g_object_unref (G_OBJECT (view->priv->error_pixbuf));
 
 	g_free (view->priv->sorting_key);
-
-	g_free (view->priv);
 
 	G_OBJECT_CLASS (parent_class)->finalize (object);
 }
Index: widgets/rb-header.c
===================================================================
RCS file: /cvs/gnome/rhythmbox/widgets/rb-header.c,v
retrieving revision 1.19
diff -p -u -r1.19 rb-header.c
--- widgets/rb-header.c	19 Oct 2005 07:10:17 -0000	1.19
+++ widgets/rb-header.c	22 Nov 2005 16:21:19 -0000
@@ -1,4 +1,5 @@
-/*
+/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*-
+ *
  *  arch-tag: Implementation of main song information display widget
  *
  *  Copyright (C) 2002, 2003 Jorn Baayen <jorn@nl.linux.org>
@@ -20,19 +21,14 @@
  *
  */
 
-#include <math.h>
-#include <gtk/gtklabel.h>
-#include <gtk/gtkhbox.h>
-#include <gtk/gtkvbox.h>
-#include <gtk/gtkimage.h>
-#include <gtk/gtkhscale.h>
-#include <gtk/gtkalignment.h>
-#include <gtk/gtkstock.h>
-#include <gtk/gtktooltips.h>
 #include <config.h>
-#include <libgnome/gnome-i18n.h>
+
+#include <math.h>
 #include <string.h>
 
+#include <glib/gi18n.h>
+#include <gtk/gtk.h>
+
 #include "rb-song-display-box.h"
 #include "rb-stock-icons.h"
 #include "rb-header.h"
@@ -105,6 +101,8 @@ struct RBHeaderPrivate
 	RBHeaderState *state;
 };
 
+#define RB_HEADER_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), RB_TYPE_HEADER, RBHeaderPrivate))
+
 enum
 {
 	PROP_0,
@@ -202,6 +200,7 @@ rb_header_class_init (RBHeaderClass *kla
 							      NULL,
 							      G_PARAM_READWRITE));
 
+	g_type_class_add_private (klass, sizeof (RBHeaderPrivate));
 }
 
 static void
@@ -233,7 +232,7 @@ rb_header_init (RBHeader *player)
 	 */
 	GtkWidget *hbox, *vbox, *urlline, *label, *align, *scalebox, *textvbox;
 
-	player->priv = g_new0 (RBHeaderPrivate, 1);
+	player->priv = RB_HEADER_GET_PRIVATE (player);
 
 	player->priv->state = g_new0 (RBHeaderState, 1);
 
@@ -337,7 +336,6 @@ rb_header_finalize (GObject *object)
 	g_object_unref (G_OBJECT (player->priv->timeline));
 
 	g_free (player->priv->state);
-	g_free (player->priv);
 
 	G_OBJECT_CLASS (parent_class)->finalize (object);
 }
Index: widgets/rb-load-failure-dialog.c
===================================================================
RCS file: /cvs/gnome/rhythmbox/widgets/rb-load-failure-dialog.c,v
retrieving revision 1.3
diff -p -u -r1.3 rb-load-failure-dialog.c
--- widgets/rb-load-failure-dialog.c	14 Jul 2005 23:15:51 -0000	1.3
+++ widgets/rb-load-failure-dialog.c	22 Nov 2005 16:21:19 -0000
@@ -1,4 +1,5 @@
-/*
+/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*-
+ *
  *  arch-tag: Implementation of dialog that displays errors during library loading
  *
  *  Copyright (C) 2003 Colin Walters <walters@gnu.org>
@@ -20,10 +21,11 @@
  */
 
 #include <config.h>
+
+#include <glib/gi18n.h>
+#include <gtk/gtk.h>
 #include <libgnomevfs/gnome-vfs.h>
 #include <libgnomevfs/gnome-vfs-utils.h>
-#include <libgnome/gnome-i18n.h>
-#include <gtk/gtk.h>
 
 #include "rb-load-failure-dialog.h"
 #include "rb-dialog.h"
@@ -56,6 +58,8 @@ struct RBLoadFailureDialogPrivate
 	GtkListStore *liststore;
 };
 
+#define RB_LOAD_FAILURE_DIALOG_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), RB_TYPE_LOAD_FAILURE_DIALOG, RBLoadFailureDialogPrivate))
+
 static GObjectClass *parent_class = NULL;
 
 GType
@@ -94,6 +98,8 @@ rb_load_failure_dialog_class_init (RBLoa
 	parent_class = g_type_class_peek_parent (klass);
 
 	object_class->finalize = rb_load_failure_dialog_finalize;
+
+	g_type_class_add_private (klass, sizeof (RBLoadFailureDialogPrivate));
 }
 
 static void
@@ -103,7 +109,7 @@ rb_load_failure_dialog_init (RBLoadFailu
 	GtkCellRenderer *renderer;
 	GtkTreeViewColumn *gcolumn;
 
-	dlg->priv = g_new0 (RBLoadFailureDialogPrivate, 1);
+	dlg->priv = RB_LOAD_FAILURE_DIALOG_GET_PRIVATE (dlg);
 
 	g_signal_connect_object (G_OBJECT (dlg),
 				 "response",
@@ -175,8 +181,6 @@ rb_load_failure_dialog_finalize (GObject
 	dlg = RB_LOAD_FAILURE_DIALOG (object);
 
 	g_return_if_fail (dlg->priv != NULL);
-
-	g_free (dlg->priv);
 
 	G_OBJECT_CLASS (parent_class)->finalize (object);
 }
Index: widgets/rb-property-view.c
===================================================================
RCS file: /cvs/gnome/rhythmbox/widgets/rb-property-view.c,v
retrieving revision 1.37
diff -p -u -r1.37 rb-property-view.c
--- widgets/rb-property-view.c	21 Nov 2005 13:58:38 -0000	1.37
+++ widgets/rb-property-view.c	22 Nov 2005 16:21:19 -0000
@@ -1,4 +1,5 @@
-/*
+/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*-
+ *
  *  arch-tag: Implementation of widget to display RhythmDB properties
  *
  *  Copyright (C) 2003 Colin Walters <walters@verbum.org>
@@ -19,19 +20,16 @@
  *
  */
 
-#include <gtk/gtktreeview.h>
-
-#include <gtk/gtktreeselection.h>
-#include <gtk/gtkcellrenderertext.h>
-#include <gtk/gtkiconfactory.h>
-#include <gtk/gtktooltips.h>
-#include <gdk/gdkkeysyms.h>
 #include <config.h>
-#include <libgnome/gnome-i18n.h>
-#include <libgnomevfs/gnome-vfs-utils.h>
+
 #include <string.h>
 #include <stdlib.h>
 
+#include <glib/gi18n.h>
+#include <gdk/gdkkeysyms.h>
+#include <gtk/gtk.h>
+#include <libgnomevfs/gnome-vfs-utils.h>
+
 #include "rb-property-view.h"
 #include "rb-dialog.h"
 #include "rb-debug.h"
@@ -82,6 +80,8 @@ struct RBPropertyViewPrivate
 	gboolean handling_row_deletion;
 };
 
+#define RB_PROPERTY_VIEW_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), RB_TYPE_PROPERTY_VIEW, RBPropertyViewPrivate))
+
 enum
 {
 	PROPERTY_SELECTED,
@@ -218,13 +218,14 @@ rb_property_view_class_init (RBPropertyV
 			      g_cclosure_marshal_VOID__VOID,
 			      G_TYPE_NONE,
 			      0); 
-	
+
+	g_type_class_add_private (klass, sizeof (RBPropertyViewPrivate));
 }
 
 static void
 rb_property_view_init (RBPropertyView *view)
 {
-	view->priv = g_new0 (RBPropertyViewPrivate, 1);
+	view->priv = RB_PROPERTY_VIEW_GET_PRIVATE (view);
 }
 
 static void
@@ -240,7 +241,6 @@ rb_property_view_finalize (GObject *obje
 	g_return_if_fail (view->priv != NULL);
 
 	g_free (view->priv->title);
-	g_free (view->priv);
 
 	G_OBJECT_CLASS (rb_property_view_parent_class)->finalize (object);
 }
Index: widgets/rb-rating.c
===================================================================
RCS file: /cvs/gnome/rhythmbox/widgets/rb-rating.c,v
retrieving revision 1.7
diff -p -u -r1.7 rb-rating.c
--- widgets/rb-rating.c	14 Jul 2005 23:15:51 -0000	1.7
+++ widgets/rb-rating.c	22 Nov 2005 16:21:19 -0000
@@ -1,4 +1,5 @@
-/*
+/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*-
+ *
  *  arch-tag: Implementation of rating renderer object
  *
  *  Copyright (C) 2002 Olivier Martin <oleevye@wanadoo.fr>
@@ -65,6 +66,8 @@ struct RBRatingPrivate
 	RBRatingPixbufs *pixbufs;
 };
 
+#define RB_RATING_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), RB_TYPE_RATING, RBRatingPrivate))
+
 enum
 {
 	PROP_0,
@@ -135,12 +138,14 @@ rb_rating_class_init (RBRatingClass *kla
 			      G_TYPE_NONE,
 			      1,
 			      G_TYPE_DOUBLE);
+
+	g_type_class_add_private (klass, sizeof (RBRatingPrivate));
 }
 
 static void
 rb_rating_init (RBRating *rating)
 {
-	rating->priv = g_new0 (RBRatingPrivate, 1);
+	rating->priv = RB_RATING_GET_PRIVATE (rating);
 
 	/* create the needed icons */
 	rating->priv->pixbufs = rb_rating_pixbufs_new ();
@@ -159,7 +164,6 @@ rb_rating_finalize (GObject *object)
 
 	rating = RB_RATING (object);
 	rb_rating_pixbufs_free (rating->priv->pixbufs);
-	g_free (rating->priv);
 
 	G_OBJECT_CLASS (parent_class)->finalize (object);
 }
Index: widgets/rb-search-entry.c
===================================================================
RCS file: /cvs/gnome/rhythmbox/widgets/rb-search-entry.c,v
retrieving revision 1.4
diff -p -u -r1.4 rb-search-entry.c
--- widgets/rb-search-entry.c	15 Aug 2005 13:37:53 -0000	1.4
+++ widgets/rb-search-entry.c	22 Nov 2005 16:21:19 -0000
@@ -1,4 +1,5 @@
-/*
+/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*-
+ *
  *  arch-tag: Implementation of search entry widget
  *
  *  Copyright (C) 2002 Jorn Baayen <jorn@nl.linux.org>
@@ -20,13 +21,13 @@
  *
  */
 
-#include <gtk/gtklabel.h>
-#include <gtk/gtkhbox.h>
-#include <gtk/gtkentry.h>
 #include <config.h>
-#include <libgnome/gnome-i18n.h>
+
 #include <string.h>
 
+#include <glib/gi18n.h>
+#include <gtk/gtk.h>
+
 #include "rb-search-entry.h"
 
 static void rb_search_entry_class_init (RBSearchEntryClass *klass);
@@ -50,6 +51,8 @@ struct RBSearchEntryPrivate
 	guint timeout;
 };
 
+#define RB_SEARCH_ENTRY_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), RB_TYPE_SEARCH_ENTRY, RBSearchEntryPrivate))
+
 enum
 {
 	SEARCH,
@@ -117,6 +120,8 @@ rb_search_entry_class_init (RBSearchEntr
 			      g_cclosure_marshal_VOID__VOID,
 			      G_TYPE_NONE,
 			      0);
+
+	g_type_class_add_private (klass, sizeof (RBSearchEntryPrivate));
 }
 
 static void
@@ -124,7 +129,7 @@ rb_search_entry_init (RBSearchEntry *ent
 {
 	GtkWidget *label;
 
-	entry->priv = g_new0 (RBSearchEntryPrivate, 1);
+	entry->priv = RB_SEARCH_ENTRY_GET_PRIVATE (entry);
 
 	/* this string can only be so long, or there wont be a search entry :) */
 	label = gtk_label_new_with_mnemonic (_("_Search:"));
@@ -163,8 +168,6 @@ rb_search_entry_finalize (GObject *objec
 	entry = RB_SEARCH_ENTRY (object);
 
 	g_return_if_fail (entry->priv != NULL);
-
-	g_free (entry->priv);
 
 	G_OBJECT_CLASS (parent_class)->finalize (object);
 }
Index: widgets/rb-simple-view.c
===================================================================
RCS file: /cvs/gnome/rhythmbox/widgets/rb-simple-view.c,v
retrieving revision 1.4
diff -p -u -r1.4 rb-simple-view.c
--- widgets/rb-simple-view.c	21 Nov 2005 13:58:38 -0000	1.4
+++ widgets/rb-simple-view.c	22 Nov 2005 16:21:19 -0000
@@ -1,4 +1,5 @@
-/*
+/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*-
+ *
  *  arch-tag: Implementation of widget to display RhythmDB properties
  *
  *  Copyright (C) 2005 Renato Filho <renato.filho@indt.org.br>
@@ -19,21 +20,17 @@
  *
  */
 
-#include <gtk/gtktreeview.h>
-
-#include <gtk/gtktreeselection.h>
-#include <gtk/gtkcellrenderertext.h>
-#include <gtk/gtkiconfactory.h>
-#include <gtk/gtktooltips.h>
-#include <gdk/gdkkeysyms.h>
-#include <glib/ghash.h>
-#include <glib/glist.h>
 #include <config.h>
-#include <libgnome/gnome-i18n.h>
-#include <libgnomevfs/gnome-vfs-utils.h>
+
 #include <string.h>
 #include <stdlib.h>
 
+#include <glib/gi18n.h>
+#include <glib.h>
+#include <gdk/gdkkeysyms.h>
+#include <gtk/gtk.h>
+#include <libgnomevfs/gnome-vfs-utils.h>
+
 #include "rb-simple-view.h"
 #include "rb-tree-dnd.h"
 #include "rb-dialog.h"
@@ -57,6 +54,8 @@ struct RBSimpleViewPrivate
 
 };
 
+#define RB_SIMPLE_VIEW_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), RB_TYPE_SIMPLE_VIEW, RBSimpleViewPrivate))
+
 
 static void rb_simple_view_class_init 		(RBSimpleViewClass *klass);
 static void rb_simple_view_init 		(RBSimpleView *view);
@@ -90,12 +89,13 @@ rb_simple_view_class_init (RBSimpleViewC
 			      G_TYPE_NONE,
 			      0);
 
+	g_type_class_add_private (klass, sizeof (RBSimpleViewPrivate));
 }
 
 static void
 rb_simple_view_init (RBSimpleView *view)
 {
-	view->priv = g_new0 (RBSimpleViewPrivate, 1);
+	view->priv = RB_SIMPLE_VIEW_GET_PRIVATE (view);
 }
 
 static void
@@ -109,8 +109,6 @@ rb_simple_view_finalize (GObject *object
 	view = RB_SIMPLE_VIEW (object);
 
 	g_return_if_fail (view->priv != NULL);
-
-	g_free (view->priv);
 
 	G_OBJECT_CLASS (rb_simple_view_parent_class)->finalize (object);
 }
Index: widgets/rb-song-display-box.c
===================================================================
RCS file: /cvs/gnome/rhythmbox/widgets/rb-song-display-box.c,v
retrieving revision 1.6
diff -p -u -r1.6 rb-song-display-box.c
--- widgets/rb-song-display-box.c	14 Jul 2005 23:15:51 -0000	1.6
+++ widgets/rb-song-display-box.c	22 Nov 2005 16:21:19 -0000
@@ -1,3 +1,5 @@
+/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */
+
 /*
  *  RBSongDisplayBox is a hack of GtkHBox
  *  arch-tag: RBSongDisplayBox - display album/artist information
@@ -31,7 +33,7 @@
 
 #include <config.h>
 
-#include <libgnome/gnome-i18n.h>
+#include <glib/gi18n.h>
 
 #include "rb-song-display-box.h"
 #include "rb-debug.h"
@@ -43,6 +45,8 @@ struct RBSongDisplayBoxPrivate
 	GtkWidget *by;
 };
 
+#define RB_SONG_DISPLAY_BOX_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), RB_TYPE_SONG_DISPLAY_BOX, RBSongDisplayBoxPrivate))
+
 static void rb_song_display_box_class_init    (RBSongDisplayBoxClass *klass);
 static void rb_song_display_box_init          (RBSongDisplayBox *box);
 static void rb_song_display_box_finalize      (GObject *object);
@@ -98,6 +102,8 @@ rb_song_display_box_class_init (RBSongDi
 
 	widget_class->size_request = rb_song_display_box_size_request;
 	widget_class->size_allocate = rb_song_display_box_size_allocate;
+
+	g_type_class_add_private (class, sizeof (RBSongDisplayBoxPrivate));
 }
 
 static void
@@ -105,7 +111,8 @@ rb_song_display_box_init (RBSongDisplayB
 {
 	GtkBox *box;
 
-	displaybox->priv = g_new0 (RBSongDisplayBoxPrivate, 1);
+	displaybox->priv = RB_SONG_DISPLAY_BOX_GET_PRIVATE (displaybox);
+
 	box = GTK_BOX (displaybox);
 	box->spacing = 0;
 	box->homogeneous = FALSE;
@@ -142,8 +149,6 @@ rb_song_display_box_finalize (GObject *o
 	RBSongDisplayBox *box;
 
 	box = RB_SONG_DISPLAY_BOX (object);
-
-	g_free (box->priv);
 
 	G_OBJECT_CLASS (parent_class)->finalize (object);
 }
Index: widgets/rb-song-info.c
===================================================================
RCS file: /cvs/gnome/rhythmbox/widgets/rb-song-info.c,v
retrieving revision 1.39
diff -p -u -r1.39 rb-song-info.c
--- widgets/rb-song-info.c	5 Nov 2005 05:03:19 -0000	1.39
+++ widgets/rb-song-info.c	22 Nov 2005 16:21:19 -0000
@@ -1,5 +1,5 @@
-/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */
-/*
+/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*-
+ *
  *  arch-tag: Implementation of local song properties dialog
  *
  *  Copyright (C) 2002 Olivier Martin <omartin@ifrance.com>
@@ -26,12 +26,14 @@
  */
 
 #include <config.h>
-#include <libgnomevfs/gnome-vfs.h>
-#include <libgnome/gnome-i18n.h>
-#include <gtk/gtk.h>
-#include <glade/glade.h>
+
 #include <string.h>
 #include <time.h>
+
+#include <glib/gi18n.h>
+#include <gtk/gtk.h>
+#include <glade/glade.h>
+#include <libgnomevfs/gnome-vfs.h>
 #include <libgnomevfs/gnome-vfs-utils.h>
 
 #include "rhythmdb.h"
@@ -118,6 +120,8 @@ struct RBSongInfoPrivate
 	GtkWidget   *rating;
 };
 
+#define RB_SONG_INFO_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), RB_TYPE_SONG_INFO, RBSongInfoPrivate))
+
 enum
 {
 	PRE_METADATA_CHANGE,
@@ -208,13 +212,15 @@ rb_song_info_class_init (RBSongInfoClass
 			      G_TYPE_NONE,
 			      1,
 			      G_TYPE_POINTER);
+
+	g_type_class_add_private (klass, sizeof (RBSongInfoPrivate));
 }
 
 static void
 rb_song_info_init (RBSongInfo *song_info)
 {
 	/* create the dialog and some buttons backward - forward - close */
-	song_info->priv = g_new0 (RBSongInfoPrivate, 1);
+	song_info->priv = RB_SONG_INFO_GET_PRIVATE (song_info);
 
 	g_signal_connect_object (G_OBJECT (song_info),
 				 "response",
@@ -448,8 +454,6 @@ rb_song_info_finalize (GObject *object)
 	song_info = RB_SONG_INFO (object);
 
 	g_return_if_fail (song_info->priv != NULL);
-
-	g_free (song_info->priv);
 
 	G_OBJECT_CLASS (parent_class)->finalize (object);
 }
Index: widgets/rb-tree-model-sort.c
===================================================================
RCS file: /cvs/gnome/rhythmbox/widgets/rb-tree-model-sort.c,v
retrieving revision 1.2
diff -p -u -r1.2 rb-tree-model-sort.c
--- widgets/rb-tree-model-sort.c	30 Sep 2003 00:02:40 -0000	1.2
+++ widgets/rb-tree-model-sort.c	22 Nov 2005 16:21:19 -0000
@@ -1,4 +1,5 @@
-/*
+/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*-
+ *
  *  arch-tag: Implementation of wrapper around GtkTreeModel sort for D&D, etc
  * 
  *  Copyright (C) 2002 Olivier Martin <omartin@ifrance.com>
@@ -19,9 +20,10 @@
  *
  */
 
-#include <gtk/gtkmarshal.h>
 #include <string.h>
 
+#include <gtk/gtkmarshal.h>
+
 #include "rhythmdb.h"
 #include "rb-tree-model-sort.h"
 #include "eggtreemultidnd.h"
@@ -44,6 +46,8 @@ struct RBTreeModelSortPrivate
 	char *str_list;
 };
 
+#define RB_TREE_MODEL_SORT_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), RB_TYPE_TREE_MODEL_SORT, RBTreeModelSortPrivate))
+
 enum
 {
 	ENTRY_FROM_ITER,
@@ -121,12 +125,14 @@ rb_tree_model_sort_class_init (RBTreeMod
 			      2,
 			      G_TYPE_POINTER,
 			      G_TYPE_POINTER);
+
+	g_type_class_add_private (klass, sizeof (RBTreeModelSortPrivate));
 }
 
 static void
 rb_tree_model_sort_init (RBTreeModelSort *ma)
 {
-	ma->priv = g_new0 (RBTreeModelSortPrivate, 1);
+	ma->priv = RB_TREE_MODEL_SORT_GET_PRIVATE (ma);
 }
 
 static void
@@ -140,7 +146,6 @@ rb_tree_model_sort_finalize (GObject *ob
 	model = RB_TREE_MODEL_SORT (object);
 
 	g_free (model->priv->str_list);
-	g_free (model->priv);
 
 	G_OBJECT_CLASS (parent_class)->finalize (object);
 }
