Index: daapsharing/rb-daap-share.c
===================================================================
RCS file: /cvs/gnome/rhythmbox/daapsharing/rb-daap-share.c,v
retrieving revision 1.9
diff -p -u -r1.9 rb-daap-share.c
--- daapsharing/rb-daap-share.c	20 Nov 2005 05:05:18 -0000	1.9
+++ daapsharing/rb-daap-share.c	30 Nov 2005 15:56:17 -0000
@@ -1,4 +1,5 @@
-/*
+/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*-
+ *
  *  Implmentation of DAAP (iTunes Music Sharing) sharing
  *
  *  Copyright (C) 2005 Charles Schmidt <cschmidt2@emich.edu>
@@ -19,16 +20,13 @@
  *
  */
 
+#include <config.h>
 
-#include "rb-daap-share.h"
-#include "rb-daap-structure.h"
-#include "rb-daap-mdns.h"
-#include "rb-daap-dialog.h"
-
-#include "rb-playlist-source.h"
-#include "rb-debug.h"
-#include "eel-gconf-extensions.h"
+#include <time.h>
+#include <string.h>
 
+#include <glib/gi18n.h>
+#include <gtk/gtk.h>
 #include <libsoup/soup.h>
 #include <libsoup/soup-address.h>
 #include <libsoup/soup-message.h>
@@ -37,11 +35,14 @@
 #include <libsoup/soup-server-message.h>
 #include <libgnomevfs/gnome-vfs.h>
 
-#include <time.h>
-#include <string.h>
+#include "rb-daap-share.h"
+#include "rb-daap-structure.h"
+#include "rb-daap-mdns.h"
+#include "rb-daap-dialog.h"
 
-#include <gtk/gtk.h>
-#include <libgnome/gnome-i18n.h>
+#include "rb-playlist-source.h"
+#include "rb-debug.h"
+#include "eel-gconf-extensions.h"
 
 static void rb_daap_share_set_property  (GObject *object,
 					 guint prop_id,
@@ -98,6 +99,8 @@ struct RBDAAPSharePrivate {
 	GList *playlist_ids;	/* contains RBPlaylistIDs */
 };
 
+#define RB_DAAP_SHARE_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), RB_TYPE_DAAP_SHARE, RBDAAPSharePrivate))
+
 typedef struct {
 	RBSource *source;
 	gint32 id;
@@ -145,12 +148,15 @@ rb_daap_share_class_init (RBDAAPShareCla
 							      "Playlist manager object",
 							      RB_TYPE_PLAYLIST_MANAGER,
 							       G_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY));
+
+	g_type_class_add_private (klass, sizeof (RBDAAPSharePrivate));
 }
 
 static void
 rb_daap_share_init (RBDAAPShare *share)
 {
-	share->priv = g_new0 (RBDAAPSharePrivate, 1);
+	share->priv = RB_DAAP_SHARE_GET_PRIVATE (share);
+
 	share->priv->revision_number = 5;
 }
 
@@ -328,9 +334,6 @@ rb_daap_share_dispose (GObject *object)
 		
 		g_list_foreach (share->priv->playlist_ids, (GFunc) rb_daap_share_forget_playlist, share);
 		g_list_foreach (share->priv->playlist_ids, (GFunc) g_free, NULL);
-		
-		g_free (share->priv);
-		share->priv = NULL;
 	}
 
 	G_OBJECT_CLASS (rb_daap_share_parent_class)->dispose (object);
Index: iradio/rb-station-properties-dialog.c
===================================================================
RCS file: /cvs/gnome/rhythmbox/iradio/rb-station-properties-dialog.c,v
retrieving revision 1.29
diff -p -u -r1.29 rb-station-properties-dialog.c
--- iradio/rb-station-properties-dialog.c	30 Nov 2005 07:18:29 -0000	1.29
+++ iradio/rb-station-properties-dialog.c	30 Nov 2005 15:56:17 -0000
@@ -1,4 +1,5 @@
-/* 
+/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*-
+ * 
  *  arch-tag: Implementation of internet radio station properties dialog
  *
  *  Copyright (C) 2002 Colin Walters <walters@gnu.org>
@@ -20,26 +21,15 @@
  */
 
 #include <config.h>
-#include <libgnomevfs/gnome-vfs.h>
-#include <libgnome/gnome-i18n.h>
-#include <gtk/gtkentry.h>
-#include <gtk/gtklabel.h>
-#include <gtk/gtktable.h>
-#include <gtk/gtkdialog.h>
-#include <gtk/gtkstock.h>
-#include <gtk/gtkliststore.h>
-#include <gtk/gtktreemodel.h>
-#include <gtk/gtkbox.h>
-#include <gtk/gtktreeselection.h>
-#include <gtk/gtkbutton.h>
-#include <gtk/gtkentry.h>
-#include <gtk/gtktreeview.h>
-#include <gtk/gtkcellrenderer.h>
-#include <gtk/gtkcellrenderertext.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 "rb-station-properties-dialog.h"
 #include "rb-file-helpers.h"
 #include "rb-glade-helpers.h"
@@ -101,6 +91,8 @@ struct RBStationPropertiesDialogPrivate
 	GtkWidget   *cancelbutton;
 };
 
+#define RB_STATION_PROPERTIES_DIALOG_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), RB_TYPE_STATION_PROPERTIES_DIALOG, RBStationPropertiesDialogPrivate))
+
 enum 
 {
 	PROP_0,
@@ -131,6 +123,8 @@ rb_station_properties_dialog_class_init 
 					                      G_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY));
 
 	object_class->finalize = rb_station_properties_dialog_finalize;
+
+	g_type_class_add_private (klass, sizeof (RBStationPropertiesDialogPrivate));
 }
 
 static void
@@ -138,8 +132,8 @@ rb_station_properties_dialog_init (RBSta
 {
 	GladeXML *xml;
 	
-	dialog->priv = g_new0 (RBStationPropertiesDialogPrivate, 1);
-	
+        dialog->priv = RB_STATION_PROPERTIES_DIALOG_GET_PRIVATE (dialog);
+
 	g_signal_connect_object (G_OBJECT (dialog),
 				 "response",
 				 G_CALLBACK (rb_station_properties_dialog_response_cb),
@@ -212,8 +206,6 @@ rb_station_properties_dialog_finalize (G
 	dialog = RB_STATION_PROPERTIES_DIALOG (object);
 
 	g_return_if_fail (dialog->priv != NULL);
-
-	g_free (dialog->priv);
 
 	G_OBJECT_CLASS (rb_station_properties_dialog_parent_class)->finalize (object);
 }
Index: metadata/rb-metadata-gst.c
===================================================================
RCS file: /cvs/gnome/rhythmbox/metadata/rb-metadata-gst.c,v
retrieving revision 1.48
diff -p -u -r1.48 rb-metadata-gst.c
--- metadata/rb-metadata-gst.c	25 Nov 2005 11:24:51 -0000	1.48
+++ metadata/rb-metadata-gst.c	30 Nov 2005 15:56:17 -0000
@@ -1,4 +1,5 @@
-/*
+/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*-
+ *
  *  arch-tag: Implementation of metadata reading using GStreamer
  *
  *  Copyright (C) 2003,2004 Colin Walters <walters@verbum.org>
@@ -20,11 +21,13 @@
  */
 
 #include <config.h>
-#include <libgnome/gnome-i18n.h>
+
+#include <string.h>
+
+#include <glib/gi18n.h>
 #include <gst/gst.h>
 #include <gst/gsttag.h>
 #include <gst/gsturi.h>
-#include <string.h>
 
 #include "rb-metadata.h"
 #include "rb-debug.h"
@@ -72,6 +75,8 @@ struct RBMetaDataPrivate
 	GError *error;
 };
 
+#define RB_METADATA_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), RB_TYPE_METADATA, RBMetaDataPrivate))
+
 
 static void
 rb_metadata_class_init (RBMetaDataClass *klass)
@@ -79,6 +84,8 @@ rb_metadata_class_init (RBMetaDataClass 
 	GObjectClass *object_class = G_OBJECT_CLASS (klass);
 
 	object_class->finalize = rb_metadata_finalize;
+
+	g_type_class_add_private (klass, sizeof (RBMetaDataPrivate));
 }
 
 
@@ -144,9 +151,9 @@ add_supported_type (RBMetaData *md,
 static void
 rb_metadata_init (RBMetaData *md)
 {
-       RBAddTaggerElem add_tagger;
+	RBAddTaggerElem add_tagger;
         
-	md->priv = g_new0 (RBMetaDataPrivate, 1);
+	md->priv = RB_METADATA_GET_PRIVATE (md);
 
 	md->priv->supported_types = g_ptr_array_new ();
 	
@@ -194,8 +201,6 @@ rb_metadata_finalize (GObject *object)
 
 	g_free (md->priv->type);
 	g_free (md->priv->uri);
-
-	g_free (md->priv);
 
 	G_OBJECT_CLASS (rb_metadata_parent_class)->finalize (object);
 }
Index: podcast/rb-feed-podcast-properties-dialog.c
===================================================================
RCS file: /cvs/gnome/rhythmbox/podcast/rb-feed-podcast-properties-dialog.c,v
retrieving revision 1.4
diff -p -u -r1.4 rb-feed-podcast-properties-dialog.c
--- podcast/rb-feed-podcast-properties-dialog.c	30 Nov 2005 07:18:30 -0000	1.4
+++ podcast/rb-feed-podcast-properties-dialog.c	30 Nov 2005 15:56:17 -0000
@@ -71,6 +71,8 @@ struct RBFeedPodcastPropertiesDialogPriv
 	GtkWidget   *okbutton;
 };
 
+#define RB_FEED_PODCAST_PROPERTIES_DIALOG_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), RB_TYPE_FEED_PODCAST_PROPERTIES_DIALOG, RBFeedPodcastPropertiesDialogPrivate))
+
 enum 
 {
 	PROP_0,
@@ -86,6 +88,8 @@ rb_feed_podcast_properties_dialog_class_
 	GObjectClass *object_class = G_OBJECT_CLASS (klass);
 
 	object_class->finalize = rb_feed_podcast_properties_dialog_finalize;
+
+	g_type_class_add_private (klass, sizeof (RBFeedPodcastPropertiesDialogPrivate));
 }
 
 static void
@@ -93,7 +97,7 @@ rb_feed_podcast_properties_dialog_init (
 {
 	GladeXML *xml;
 	
-	dialog->priv = g_new0 (RBFeedPodcastPropertiesDialogPrivate, 1);
+	dialog->priv = RB_FEED_PODCAST_PROPERTIES_DIALOG_GET_PRIVATE (dialog);
 	
 	g_signal_connect_object (G_OBJECT (dialog),
 				 "response",
@@ -151,8 +155,6 @@ rb_feed_podcast_properties_dialog_finali
 	dialog = RB_FEED_PODCAST_PROPERTIES_DIALOG (object);
 
 	g_return_if_fail (dialog->priv != NULL);
-
-	g_free (dialog->priv);
 
 	G_OBJECT_CLASS (rb_feed_podcast_properties_dialog_parent_class)->finalize (object);
 }
Index: podcast/rb-new-podcast-dialog.c
===================================================================
RCS file: /cvs/gnome/rhythmbox/podcast/rb-new-podcast-dialog.c,v
retrieving revision 1.4
diff -p -u -r1.4 rb-new-podcast-dialog.c
--- podcast/rb-new-podcast-dialog.c	17 Nov 2005 16:12:09 -0000	1.4
+++ podcast/rb-new-podcast-dialog.c	30 Nov 2005 15:56:17 -0000
@@ -61,6 +61,8 @@ struct RBNewPodcastDialogPrivate
 	GtkWidget   *cancelbutton;
 };
 
+#define RB_NEW_PODCAST_DIALOG_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), RB_TYPE_NEW_PODCAST_DIALOG, RBNewPodcastDialogPrivate))
+
 enum 
 {
 	PROP_0,
@@ -87,6 +89,8 @@ rb_new_podcast_dialog_class_init (RBNewP
 					                      G_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY));
 
 	object_class->finalize = rb_new_podcast_dialog_finalize;
+
+	g_type_class_add_private (klass, sizeof (RBNewPodcastDialogPrivate));
 }
 
 static void
@@ -95,8 +99,7 @@ rb_new_podcast_dialog_init (RBNewPodcast
 	GladeXML *xml;
 
 	/* create the dialog and some buttons forward - close */
-	dialog->priv = g_new0 (RBNewPodcastDialogPrivate, 1);
-
+	dialog->priv = RB_NEW_PODCAST_DIALOG_GET_PRIVATE (dialog);
 
 	g_signal_connect_object (G_OBJECT (dialog),
 				 "response",
@@ -157,8 +160,6 @@ rb_new_podcast_dialog_finalize (GObject 
 	dialog = RB_NEW_PODCAST_DIALOG (object);
 
 	g_return_if_fail (dialog->priv != NULL);
-
-	g_free (dialog->priv);
 
 	G_OBJECT_CLASS (rb_new_podcast_dialog_parent_class)->finalize (object);
 }
Index: podcast/rb-podcast-manager.c
===================================================================
RCS file: /cvs/gnome/rhythmbox/podcast/rb-podcast-manager.c,v
retrieving revision 1.24
diff -p -u -r1.24 rb-podcast-manager.c
--- podcast/rb-podcast-manager.c	22 Nov 2005 10:32:51 -0000	1.24
+++ podcast/rb-podcast-manager.c	30 Nov 2005 15:56:17 -0000
@@ -93,6 +93,8 @@ struct RBPodcastManagerPrivate
 	GAsyncQueue *event_queue;
 };
 
+#define RB_PODCAST_MANAGER_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), RB_TYPE_PODCAST_MANAGER, RBPodcastManagerPrivate))
+
 /* used on event loop */
 typedef struct
 {
@@ -261,13 +263,15 @@ rb_podcast_manager_class_init (RBPodcast
 				G_TYPE_NONE,
 				1,
 				G_TYPE_POINTER);
-					
+
+	g_type_class_add_private (klass, sizeof (RBPodcastManagerPrivate));
 }	
 
 static void
 rb_podcast_manager_init (RBPodcastManager *pd)
 {
-	pd->priv = g_new0 (RBPodcastManagerPrivate, 1);
+	pd->priv = RB_PODCAST_MANAGER_GET_PRIVATE (pd);
+
 	pd->priv->source_sync = 0;
 	pd->priv->mutex_job = g_mutex_new();
 	pd->priv->download_list_mutex = g_mutex_new();
@@ -278,7 +282,7 @@ rb_podcast_manager_init (RBPodcastManage
 
 static GObject *
 rb_podcast_manager_constructor (GType type, guint n_construct_properties,
-			   GObjectConstructParam *construct_properties)
+				GObjectConstructParam *construct_properties)
 {
 	RBPodcastManager *pd;
 
@@ -326,23 +330,20 @@ rb_podcast_manager_finalize (GObject *ob
 	g_mutex_free (pd->priv->mutex_job);	
 	g_mutex_free (pd->priv->download_list_mutex);	
 	g_async_queue_unref (pd->priv->event_queue);
-	
-	g_free (pd->priv);
-	
+
 	G_OBJECT_CLASS (rb_podcast_manager_parent_class)->finalize (object);
 	rb_debug ("Podcast Manager END");
 }
 
 static void 
 rb_podcast_manager_set_property (GObject *object,
-                           		guint prop_id,
-	                                const GValue *value,
-	                                GParamSpec *pspec)
+				 guint prop_id,
+				 const GValue *value,
+				 GParamSpec *pspec)
 {
 	RBPodcastManager *pd = RB_PODCAST_MANAGER (object);
 
-	switch (prop_id)
-	{
+	switch (prop_id) {
 	case PROP_DB:
 		if (pd->priv->db) {
 			g_signal_handlers_disconnect_by_func (G_OBJECT (pd->priv->db),
@@ -381,8 +382,7 @@ rb_podcast_manager_get_property (GObject
 {
 	RBPodcastManager *pd = RB_PODCAST_MANAGER (object);
 
-	switch (prop_id)
-	{
+	switch (prop_id) {
 	case PROP_DB:
 		g_value_set_object (value, pd->priv->db);
 		break;
Index: podcast/rb-podcast-properties-dialog.c
===================================================================
RCS file: /cvs/gnome/rhythmbox/podcast/rb-podcast-properties-dialog.c,v
retrieving revision 1.5
diff -p -u -r1.5 rb-podcast-properties-dialog.c
--- podcast/rb-podcast-properties-dialog.c	30 Nov 2005 07:18:30 -0000	1.5
+++ podcast/rb-podcast-properties-dialog.c	30 Nov 2005 15:56:17 -0000
@@ -91,6 +91,8 @@ struct RBPodcastPropertiesDialogPrivate
 	GtkWidget   *close_button;
 };
 
+#define RB_PODCAST_PROPERTIES_DIALOG_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), RB_TYPE_PODCAST_PROPERTIES_DIALOG, RBPodcastPropertiesDialogPrivate))
+
 enum 
 {
 	PROP_0,
@@ -118,6 +120,8 @@ rb_podcast_properties_dialog_class_init 
 					                      G_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY));
 
 	object_class->finalize = rb_podcast_properties_dialog_finalize;
+
+	g_type_class_add_private (klass, sizeof (RBPodcastPropertiesDialogPrivate));
 }
 
 static void
@@ -125,8 +129,8 @@ rb_podcast_properties_dialog_init (RBPod
 {
 	GladeXML *xml;
 	
-	dialog->priv = g_new0 (RBPodcastPropertiesDialogPrivate, 1);
-	
+	dialog->priv = RB_PODCAST_PROPERTIES_DIALOG_GET_PRIVATE (dialog);
+
 	g_signal_connect_object (G_OBJECT (dialog),
 				 "response",
 				 G_CALLBACK (rb_podcast_properties_dialog_response_cb),
@@ -194,8 +198,6 @@ rb_podcast_properties_dialog_finalize (G
 	dialog = RB_PODCAST_PROPERTIES_DIALOG (object);
 
 	g_return_if_fail (dialog->priv != NULL);
-
-	g_free (dialog->priv);
 
 	G_OBJECT_CLASS (rb_podcast_properties_dialog_parent_class)->finalize (object);
 }
Index: remote/bonobo/rb-remote-bonobo.c
===================================================================
RCS file: /cvs/gnome/rhythmbox/remote/bonobo/rb-remote-bonobo.c,v
retrieving revision 1.6
diff -p -u -r1.6 rb-remote-bonobo.c
--- remote/bonobo/rb-remote-bonobo.c	28 Aug 2005 11:19:20 -0000	1.6
+++ remote/bonobo/rb-remote-bonobo.c	30 Nov 2005 15:56:17 -0000
@@ -1,4 +1,5 @@
-/*
+/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*-
+ *
  *  arch-tag: Implementation of Rhythmbox Bonobo remoting
  *
  *  Copyright (C) 2004 Colin Walters <walters@gnome.org>
@@ -19,6 +20,15 @@
  *
  */
 
+#include <config.h>
+
+#include <string.h>
+
+#include <glib/gi18n.h>
+#include <gtk/gtk.h>
+#include <gdk/gdk.h>
+#include <libgnome/libgnome.h>
+
 #include "rb-remote-bonobo.h"
 #include "rb-remote-client-proxy.h"
 #include <Rhythmbox.h>
@@ -29,12 +39,6 @@
 #include <bonobo/bonobo-window.h>
 #include <bonobo/bonobo-control-frame.h>
 #include <bonobo-activation/bonobo-activation-register.h>
-#include <gtk/gtk.h>
-#include <gdk/gdk.h>
-#include <config.h>
-#include <string.h>
-#include <libgnome/libgnome.h>
-#include <libgnome/gnome-i18n.h>
 
 #include "rb-debug.h"
 
@@ -146,6 +150,8 @@ struct RBRemoteBonoboPrivate
 	GParamSpec *property_spec[16];
 };
 
+#define RB_REMOTE_BONOBO_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), RB_TYPE_REMOTE_BONOBO, RBRemoteBonoboPrivate))
+
 GType
 rb_remote_bonobo_get_type (void)
 {
@@ -214,6 +220,8 @@ rb_remote_bonobo_class_init (RBRemoteBon
 	epv->setRating = rb_remote_bonobo_corba_set_rating;
 	epv->skip = rb_remote_bonobo_corba_skip;
 	epv->toggleMute = rb_remote_bonobo_corba_toggle_mute;
+
+	g_type_class_add_private (klass, sizeof (RBRemoteBonoboPrivate));
 }
 
 static void
@@ -306,7 +314,7 @@ rb_remote_bonobo_preinit (void)
 static void
 rb_remote_bonobo_init (RBRemoteBonobo *bonobo) 
 {
-	bonobo->priv = g_new0 (RBRemoteBonoboPrivate, 1);
+	bonobo->priv = RB_REMOTE_BONOBO_GET_PRIVATE (bonobo);
 }
 
 static void
@@ -322,10 +330,6 @@ rb_remote_bonobo_dispose (GObject *objec
 static void
 rb_remote_bonobo_finalize (GObject *object)
 {
-        RBRemoteBonobo *bonobo = RB_REMOTE_BONOBO (object);
-
-	g_free (bonobo->priv);
-
 	(* G_OBJECT_CLASS (parent_class)->finalize) (object);
 }
 
Index: shell/rb-audioscrobbler.c
===================================================================
RCS file: /cvs/gnome/rhythmbox/shell/rb-audioscrobbler.c,v
retrieving revision 1.3
diff -p -u -r1.3 rb-audioscrobbler.c
--- shell/rb-audioscrobbler.c	30 Nov 2005 07:18:30 -0000	1.3
+++ shell/rb-audioscrobbler.c	30 Nov 2005 15:56:17 -0000
@@ -1,8 +1,9 @@
-/*
+/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*-
+ *
  *  arch-tag: Implementation of Rhythmbox Audioscrobbler support
  *
  *  Copyright (C) 2005 Alex Revo <xiphoidappendix@gmail.com>,
- *					   Ruben Vermeersch <ruben@Lambda1.be>
+ *		       Ruben Vermeersch <ruben@Lambda1.be>
  *
  *  This program is free software; you can redistribute it and/or modify
  *  it under the terms of the GNU General Public License as published by
@@ -21,13 +22,15 @@
  */
 
 #include <errno.h>
-#include <gconf/gconf-value.h>
+
+#include <string.h>
+#include <time.h>
+
 #include <glib.h>
+#include <glib/gi18n.h>
 #include <glib/gprintf.h>
 #include <gtk/gtk.h>
-#include <string.h>
-#include <time.h>
-#include <libgnome/gnome-i18n.h>
+#include <gconf/gconf-value.h>
 
 #include <libsoup/soup.h>
 #include <libsoup/soup-uri.h>
@@ -131,6 +134,8 @@ struct _RBAudioscrobblerPrivate
 	guint notification_proxy_password_id;
 };
 
+#define RB_AUDIOSCROBBLER_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), RB_TYPE_AUDIOSCROBBLER, RBAudioscrobblerPrivate))
+
 
 static void	     audioscrobbler_entry_init (AudioscrobblerEntry *entry);
 static void	     audioscrobbler_entry_free (AudioscrobblerEntry *entry);
@@ -218,6 +223,8 @@ rb_audioscrobbler_class_init (RBAudioscr
 							      "RBShellPlayer object",
 							      RB_TYPE_SHELL_PLAYER,
 							      G_PARAM_READWRITE));
+
+	g_type_class_add_private (klass, sizeof (RBAudioscrobblerPrivate));
 }
 
 static void
@@ -229,7 +236,7 @@ rb_audioscrobbler_init (RBAudioscrobbler
 	rb_debug ("Plugin ID: %s, Version %s (Protocol %s)",
 		  CLIENT_ID, CLIENT_VERSION, SCROBBLER_VERSION);
 
-	audioscrobbler->priv = g_new0 (RBAudioscrobblerPrivate, 1);
+	audioscrobbler->priv = RB_AUDIOSCROBBLER_GET_PRIVATE (audioscrobbler);
 
 	audioscrobbler->priv->queue = NULL;
 	audioscrobbler->priv->submission= NULL;
@@ -346,7 +353,6 @@ rb_audioscrobbler_finalize (GObject *obj
 
 	rb_audioscrobbler_free_queue_entries (audioscrobbler, &audioscrobbler->priv->queue);
 	rb_audioscrobbler_free_queue_entries (audioscrobbler, &audioscrobbler->priv->submission);
-	g_free (audioscrobbler->priv);
 
 	G_OBJECT_CLASS (rb_audioscrobbler_parent_class)->finalize (object);
 }
Index: shell/rb-commander.c
===================================================================
RCS file: /cvs/gnome/rhythmbox/shell/rb-commander.c,v
retrieving revision 1.4
diff -p -u -r1.4 rb-commander.c
--- shell/rb-commander.c	3 Sep 2003 01:28:19 -0000	1.4
+++ shell/rb-commander.c	30 Nov 2005 15:56:17 -0000
@@ -1,7 +1,8 @@
-/*
+/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*-
+ *
  *  arch-tag: Implementation of Rhythmbox commander object
  *
- *  Copyright Â© 2002 Jorn Baayen.  All rights reserved.
+ *  Copyright © 2002 Jorn Baayen.  All rights reserved.
  *
  *  This program is free software; you can redistribute it and/or modify
  *  it under the terms of the GNU General Public License as published by
@@ -20,7 +21,8 @@
  */
 
 #include <config.h>
-#include <libgnome/gnome-i18n.h>
+
+#include <glib/gi18n.h>
 
 #include "rb-commander.h"
 
@@ -43,6 +45,8 @@ struct RBCommanderPrivate
 	char *foo;
 };
 
+#define RB_COMMANDER_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), RB_TYPE_COMMANDER, RBCommanderPrivate))
+
 enum
 {
 	PROP_0,
@@ -98,12 +102,14 @@ rb_commander_class_init (RBCommanderClas
 							      "RB object",
 							      RB_TYPE,
 							      G_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY));
+
+	g_type_class_add_private (klass, sizeof (RBCommanderPrivate));
 }
 
 static void
 rb_commander_init (RBCommander *commander)
 {
-	commander->priv = g_new0 (RBCommanderPrivate, 1);
+	commander->priv = RB_COMMANDER_GET_PRIVATE (commander);
 }
 
 static void
@@ -117,8 +123,6 @@ rb_commander_finalize (GObject *object)
 	commander = RB_COMMANDER (object);
 
 	g_return_if_fail (commander->priv != NULL);
-
-	g_free (commander->priv);
 
 	G_OBJECT_CLASS (parent_class)->finalize (object);
 }
Index: shell/rb-history.c
===================================================================
RCS file: /cvs/gnome/rhythmbox/shell/rb-history.c,v
retrieving revision 1.8
diff -p -u -r1.8 rb-history.c
--- shell/rb-history.c	18 Jan 2004 10:15:57 -0000	1.8
+++ shell/rb-history.c	30 Nov 2005 15:56:17 -0000
@@ -1,4 +1,5 @@
-/* 
+/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*-
+ * 
  *  arch-tag: Implementation of Song History List
  *
  *  Copyright (C) 2003 Jeffrey Yasskin <jyasskin@mail.utexas.edu>
@@ -19,10 +20,11 @@
  *  
  */ 
 
+#include <string.h>
+
 #include "rb-history.h"
 
 #include "rhythmdb.h"
-#include <string.h>
 #include "gsequence.h"
 
 struct RBHistoryPrivate
@@ -40,6 +42,8 @@ struct RBHistoryPrivate
 	gpointer destroy_userdata;
 };
 
+#define RB_HISTORY_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), RB_TYPE_HISTORY, RBHistoryPrivate))
+
 #define MAX_HISTORY_SIZE 50
 
 static void rb_history_class_init (RBHistoryClass *klass);
@@ -128,6 +132,7 @@ rb_history_class_init (RBHistoryClass *k
 							    0,
 							    G_PARAM_READWRITE));
 
+	g_type_class_add_private (klass, sizeof (RBHistoryPrivate));
 }
 
 RBHistory *
@@ -150,7 +155,7 @@ rb_history_new (gboolean truncate_on_pla
 static void
 rb_history_init (RBHistory *hist)
 {
-	hist->priv = g_new0 (RBHistoryPrivate, 1);
+	hist->priv = RB_HISTORY_GET_PRIVATE (hist);
 
 	hist->priv->entry_to_seqptr = g_hash_table_new (g_direct_hash,
 							g_direct_equal);
@@ -172,7 +177,6 @@ rb_history_finalize (GObject *object)
 
 	g_hash_table_destroy (hist->priv->entry_to_seqptr);
 	g_sequence_free (hist->priv->seq);
-	g_free (hist->priv);
 
 	G_OBJECT_CLASS (parent_class)->finalize (object);
 }
Index: shell/rb-play-order-random.c
===================================================================
RCS file: /cvs/gnome/rhythmbox/shell/rb-play-order-random.c,v
retrieving revision 1.3
diff -p -u -r1.3 rb-play-order-random.c
--- shell/rb-play-order-random.c	14 Jul 2004 03:13:03 -0000	1.3
+++ shell/rb-play-order-random.c	30 Nov 2005 15:56:17 -0000
@@ -1,4 +1,5 @@
-/*
+/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*-
+ *
  *  arch-tag: Implementation of base class for weighted random play orders
  *
  *  Copyright (C) 2003 Jeffrey Yasskin <jyasskin@mail.utexas.edu>
@@ -29,12 +30,13 @@
  * will not see any changes to their history of played songs.
  */
 
+#include <string.h>
+
 #include "rb-play-order-random-by-age.h"
 
 #include "rb-debug.h"
 #include "rhythmdb.h"
 #include "rb-history.h"
-#include <string.h>
 
 static void rb_random_play_order_class_init (RBRandomPlayOrderClass *klass);
 static void rb_random_play_order_init (RBRandomPlayOrder *rorder);
@@ -65,6 +67,8 @@ struct RBRandomPlayOrderPrivate
 	gboolean entry_view_changed;
 };
 
+#define RB_RANDOM_PLAY_ORDER_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), RB_TYPE_RANDOM_PLAY_ORDER, RBRandomPlayOrderPrivate))
+
 static RBPlayOrderClass *parent_class = NULL;
 
 GType
@@ -118,12 +122,14 @@ rb_random_play_order_class_init (RBRando
 	porder->go_next = rb_random_play_order_go_next;
 	porder->get_previous = rb_random_play_order_get_previous;
 	porder->go_previous = rb_random_play_order_go_previous;
+
+	g_type_class_add_private (klass, sizeof (RBRandomPlayOrderPrivate));
 }
 
 static void
 rb_random_play_order_init (RBRandomPlayOrder *rorder)
 {
-	rorder->priv = g_new0 (RBRandomPlayOrderPrivate, 1);
+	rorder->priv = RB_RANDOM_PLAY_ORDER_GET_PRIVATE (rorder);
 
 	rorder->priv->history = rb_history_new (TRUE,
 						(GFunc) rb_play_order_unref_entry_swapped,
@@ -146,7 +152,6 @@ rb_random_play_order_finalize (GObject *
 	g_object_unref (G_OBJECT (rorder->priv->history));
 	if (rorder->priv->tentative_history)
 		g_object_unref (G_OBJECT (rorder->priv->tentative_history));
-	g_free (rorder->priv);
 
 	G_OBJECT_CLASS (parent_class)->finalize (object);
 }
Index: shell/rb-play-order-shuffle.c
===================================================================
RCS file: /cvs/gnome/rhythmbox/shell/rb-play-order-shuffle.c,v
retrieving revision 1.5
diff -p -u -r1.5 rb-play-order-shuffle.c
--- shell/rb-play-order-shuffle.c	30 Mar 2004 16:21:08 -0000	1.5
+++ shell/rb-play-order-shuffle.c	30 Nov 2005 15:56:17 -0000
@@ -1,4 +1,5 @@
-/* 
+/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*-
+ * 
  *  arch-tag: Implementation of shuffle play order
  *
  *  Copyright (C) 2003 Jeffrey Yasskin <jyasskin@mail.utexas.edu>
@@ -19,13 +20,14 @@
  *
  */
 
+#include <string.h>
+
 #include "rb-play-order-shuffle.h"
 
 #include "rb-history.h"
 #include "rb-debug.h"
 #include "rb-preferences.h"
 #include "eel-gconf-extensions.h"
-#include <string.h>
 
 static void rb_shuffle_play_order_class_init (RBShufflePlayOrderClass *klass);
 static void rb_shuffle_play_order_init (RBShufflePlayOrder *sorder);
@@ -60,6 +62,8 @@ struct RBShufflePlayOrderPrivate
 	GHashTable *entries_added;
 };
 
+#define RB_SHUFFLE_PLAY_ORDER_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), RB_TYPE_SHUFFLE_PLAY_ORDER, RBShufflePlayOrderPrivate))
+
 static RBPlayOrderClass *parent_class = NULL;
 
 GType
@@ -126,12 +130,14 @@ rb_shuffle_play_order_class_init (RBShuf
 	porder->go_next = rb_shuffle_play_order_go_next;
 	porder->get_previous = rb_shuffle_play_order_get_previous;
 	porder->go_previous = rb_shuffle_play_order_go_previous;
+
+	g_type_class_add_private (klass, sizeof (RBShufflePlayOrderPrivate));
 }
 
 static void
 rb_shuffle_play_order_init (RBShufflePlayOrder *sorder)
 {
-	sorder->priv = g_new0 (RBShufflePlayOrderPrivate, 1);
+	sorder->priv = RB_SHUFFLE_PLAY_ORDER_GET_PRIVATE (sorder);
 
 	sorder->priv->history = rb_history_new (FALSE,
 						(GFunc) rb_play_order_unref_entry_swapped,
@@ -157,7 +163,6 @@ rb_shuffle_play_order_finalize (GObject 
 		g_object_unref (sorder->priv->tentative_history);
 	g_hash_table_destroy (sorder->priv->entries_added);
 	g_hash_table_destroy (sorder->priv->entries_removed);
-	g_free (sorder->priv);
 
 	G_OBJECT_CLASS (parent_class)->finalize (object);
 }
Index: shell/rb-play-order.c
===================================================================
RCS file: /cvs/gnome/rhythmbox/shell/rb-play-order.c,v
retrieving revision 1.10
diff -p -u -r1.10 rb-play-order.c
--- shell/rb-play-order.c	26 Oct 2005 06:21:11 -0000	1.10
+++ shell/rb-play-order.c	30 Nov 2005 15:56:17 -0000
@@ -1,4 +1,5 @@
-/* 
+/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*-
+ * 
  *  arch-tag: Implementation of base class for play order classes
  *
  *  Copyright (C) 2003 Jeffrey Yasskin <jyasskin@mail.utexas.edu>
@@ -19,13 +20,15 @@
  *
  */
 
+#include <string.h>
+
+#include <glib/gi18n.h>
+
 #include "rb-play-order.h"
 
 #include "rb-shell-player.h"
 #include "rb-debug.h"
-#include <string.h>
 #include "rb-preferences.h"
-#include <libgnome/gnome-i18n.h>
 
 /* Play Orders */
 #include "rb-play-order-linear.h"
@@ -67,6 +70,8 @@ struct RBPlayOrderPrivate
 	RhythmDB *db;
 };
 
+#define RB_PLAY_ORDER_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), RB_TYPE_PLAY_ORDER, RBPlayOrderPrivate))
+
 enum
 {
 	PROP_0,
@@ -96,12 +101,14 @@ rb_play_order_class_init (RBPlayOrderCla
 						 	      "Rhythmbox Player",
 						 	      RB_TYPE_SHELL_PLAYER,
 						 	      G_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY));
+
+	g_type_class_add_private (klass, sizeof (RBPlayOrderPrivate));
 }
 
 static void
 rb_play_order_init (RBPlayOrder *porder)
 {
-	porder->priv = g_new0 (RBPlayOrderPrivate, 1);
+	porder->priv = RB_PLAY_ORDER_GET_PRIVATE (porder);
 }
 
 static GObject *
@@ -144,7 +151,6 @@ rb_play_order_finalize (GObject *object)
 						      porder);
 	}
 
-	g_free (porder->priv);
 	G_OBJECT_CLASS (rb_play_order_parent_class)->finalize (object);
 }
 
Index: shell/rb-playlist-manager.c
===================================================================
RCS file: /cvs/gnome/rhythmbox/shell/rb-playlist-manager.c,v
retrieving revision 1.70
diff -p -u -r1.70 rb-playlist-manager.c
--- shell/rb-playlist-manager.c	28 Nov 2005 09:48:37 -0000	1.70
+++ shell/rb-playlist-manager.c	30 Nov 2005 15:56:17 -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 Rhythmbox playlist management object
  *
  *  Copyright (C) 2003,2004 Colin Walters <walters@gnome.org>
@@ -21,15 +21,17 @@
  */
 
 #include <config.h>
-#include <gtk/gtk.h>
-#include <libgnome/gnome-i18n.h>
-#include <libxml/tree.h>
-#include <libgnomevfs/gnome-vfs.h>
-#include <libgnomevfs/gnome-vfs-mime-utils.h>
+
 #include <string.h>
 #include <stdio.h>      /* rename() */
 #include <unistd.h>     /* unlink() */
 
+#include <libxml/tree.h>
+#include <glib/gi18n.h>
+#include <gtk/gtk.h>
+#include <libgnomevfs/gnome-vfs.h>
+#include <libgnomevfs/gnome-vfs-mime-utils.h>
+
 #include "rb-playlist-manager.h"
 #include "rb-playlist-source.h"
 #include "rb-recorder.h"
@@ -113,6 +115,8 @@ struct RBPlaylistManagerPrivate
 	gboolean dirty;
 };
 
+#define RB_PLAYLIST_MANAGER_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), RB_TYPE_PLAYLIST_MANAGER, RBPlaylistManagerPrivate))
+
 enum
 {
 	PROP_0,
@@ -285,12 +289,14 @@ rb_playlist_manager_class_init (RBPlayli
 			      g_cclosure_marshal_VOID__VOID,
 			      G_TYPE_NONE,
 			      0, G_TYPE_NONE);
+
+	g_type_class_add_private (klass, sizeof (RBPlaylistManagerPrivate));
 }
 
 static void
 rb_playlist_manager_init (RBPlaylistManager *mgr)
 {
-	mgr->priv = g_new0 (RBPlaylistManagerPrivate, 1);
+	mgr->priv = RB_PLAYLIST_MANAGER_GET_PRIVATE (mgr);
 
 	mgr->priv->status_queue = g_async_queue_new ();
 
@@ -347,8 +353,6 @@ rb_playlist_manager_finalize (GObject *o
 
 	g_mutex_free (mgr->priv->saving_mutex);
 	g_cond_free (mgr->priv->saving_condition);
-
-	g_free (mgr->priv);
 
 	G_OBJECT_CLASS (parent_class)->finalize (object);
 }
Index: shell/rb-shell-clipboard.c
===================================================================
RCS file: /cvs/gnome/rhythmbox/shell/rb-shell-clipboard.c,v
retrieving revision 1.26
diff -p -u -r1.26 rb-shell-clipboard.c
--- shell/rb-shell-clipboard.c	14 Jul 2004 03:13:03 -0000	1.26
+++ shell/rb-shell-clipboard.c	30 Nov 2005 15:56:17 -0000
@@ -1,4 +1,5 @@
-/* 
+/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*-
+ * 
  *  arch-tag: Implementation of song cut/paste handler object
  *
  *  Copyright (C) 2002 Jorn Baayen <jorn@nl.linux.org>
@@ -20,11 +21,14 @@
  *
  */
 
+#include <config.h>
+
+#include <glib/gi18n.h>
+#include <gtk/gtk.h>
+
 #include "rb-shell-clipboard.h"
 #include "rhythmdb.h"
 #include "rb-debug.h"
-#include <libgnome/gnome-i18n.h>
-#include <gtk/gtkstock.h>
 
 static void rb_shell_clipboard_class_init (RBShellClipboardClass *klass);
 static void rb_shell_clipboard_init (RBShellClipboard *shell_clipboard);
@@ -77,6 +81,8 @@ struct RBShellClipboardPrivate
 	GList *entries;
 };
 
+#define RB_SHELL_CLIPBOARD_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), RB_TYPE_SHELL_CLIPBOARD, RBShellClipboardPrivate))
+
 enum
 {
 	PROP_0,
@@ -173,12 +179,13 @@ rb_shell_clipboard_class_init (RBShellCl
 							      RHYTHMDB_TYPE,
 							      G_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY));
 
+	g_type_class_add_private (klass, sizeof (RBShellClipboardPrivate));
 }
 
 static void
 rb_shell_clipboard_init (RBShellClipboard *shell_clipboard)
 {
-	shell_clipboard->priv = g_new0 (RBShellClipboardPrivate, 1);
+	shell_clipboard->priv = RB_SHELL_CLIPBOARD_GET_PRIVATE (shell_clipboard);
 
 	shell_clipboard->priv->signal_hash = g_hash_table_new_full (g_direct_hash, g_direct_equal,
 								    NULL, g_free);
@@ -209,8 +216,6 @@ rb_shell_clipboard_finalize (GObject *ob
 	if (shell_clipboard->priv->idle_sync_id)
 		g_source_remove (shell_clipboard->priv->idle_sync_id);
 	
-	g_free (shell_clipboard->priv);
-
 	G_OBJECT_CLASS (parent_class)->finalize (object);
 }
 
Index: shell/rb-shell-player.c
===================================================================
RCS file: /cvs/gnome/rhythmbox/shell/rb-shell-player.c,v
retrieving revision 1.186
diff -p -u -r1.186 rb-shell-player.c
--- shell/rb-shell-player.c	24 Nov 2005 04:55:55 -0000	1.186
+++ shell/rb-shell-player.c	30 Nov 2005 15:56: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 main playback logic object
  *
  *  Copyright (C) 2002, 2003 Jorn Baayen <jorn@nl.linux.org>
@@ -21,16 +21,18 @@
  *
  */
 
-#include <gtk/gtk.h>
-#include <glade/glade.h>
 #include <config.h>
+
 #include <unistd.h>
 #include <stdlib.h>
 #include <time.h>
 #include <string.h>
+
+#include <glib/gi18n.h>
+#include <gtk/gtk.h>
+#include <glade/glade.h>
 #include <libgnomevfs/gnome-vfs-utils.h>
 #include <libgnomevfs/gnome-vfs-uri.h>
-#include <libgnome/gnome-i18n.h>
 
 #ifdef HAVE_MMKEYS
 #include <X11/Xlib.h>
@@ -235,6 +237,8 @@ struct RBShellPlayerPrivate
 	float pre_mute_volume;
 };
 
+#define RB_SHELL_PLAYER_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), RB_TYPE_SHELL_PLAYER, RBShellPlayerPrivate))
+
 enum
 {
 	PROP_0,
@@ -451,6 +455,8 @@ rb_shell_player_class_init (RBShellPlaye
 			      G_TYPE_NONE,
 			      1,
 			      G_TYPE_STRING);
+
+	g_type_class_add_private (klass, sizeof (RBShellPlayerPrivate));
 }
 
 static GObject *
@@ -555,7 +561,7 @@ rb_shell_player_init (RBShellPlayer *pla
 	GtkWidget *hbox, *image;
 	GtkWidget *alignment;
 
-	player->priv = g_new0 (RBShellPlayerPrivate, 1);
+	player->priv = RB_SHELL_PLAYER_GET_PRIVATE (player);
 
 	player->priv->mmplayer = rb_player_new (&error);
 	if (error != NULL) {
@@ -727,8 +733,6 @@ rb_shell_player_finalize (GObject *objec
 
 	if (player->priv->remote != NULL)
 		g_object_unref (G_OBJECT (player->priv->remote));
-	
-	g_free (player->priv);
 
 	G_OBJECT_CLASS (rb_shell_player_parent_class)->finalize (object);
 }
Index: shell/rb-shell-preferences.c
===================================================================
RCS file: /cvs/gnome/rhythmbox/shell/rb-shell-preferences.c,v
retrieving revision 1.51
diff -p -u -r1.51 rb-shell-preferences.c
--- shell/rb-shell-preferences.c	30 Nov 2005 07:18:30 -0000	1.51
+++ shell/rb-shell-preferences.c	30 Nov 2005 15:56:18 -0000
@@ -1,4 +1,5 @@
-/* 
+/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*-
+ * 
  *  arch-tag: Implementation of preferences dialog object
  *
  *  Copyright (C) 2002 Jorn Baayen <jorn@nl.linux.org>
@@ -21,22 +22,13 @@
  */
 
 #include <config.h>
-#include <libgnome/gnome-i18n.h>
-#include <gtk/gtkstock.h>
-#include <gtk/gtklabel.h>
-#include <gtk/gtkentry.h>
-#include <gdk/gdkkeysyms.h>
-#include <gtk/gtkbox.h>
-#include <gtk/gtktogglebutton.h>
-#include <gtk/gtkoptionmenu.h>
-#include <gtk/gtkradiobutton.h>
-#include <gtk/gtknotebook.h>
-#include <gtk/gtkvbox.h>
-#include <gtk/gtkhbox.h>
-#include <gtk/gtkcheckbutton.h>
+
+#include <string.h>
+
+#include <glib/gi18n.h>
+#include <gtk/gtk.h>
 #include <glade/glade.h>
 #include <libgnome/gnome-help.h>
-#include <string.h>
 
 #include "rb-file-helpers.h"
 #include "rb-shell-preferences.h"
@@ -97,6 +89,8 @@ struct RBShellPreferencesPrivate
 	gboolean loading;
 };
 
+#define RB_SHELL_PREFERENCES_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), RB_TYPE_SHELL_PREFERENCES, RBShellPreferencesPrivate))
+
 G_DEFINE_TYPE (RBShellPreferences, rb_shell_preferences, GTK_TYPE_DIALOG)
 
 static void
@@ -105,6 +99,8 @@ rb_shell_preferences_class_init (RBShell
 	GObjectClass *object_class = G_OBJECT_CLASS (klass);
 
 	object_class->finalize = rb_shell_preferences_finalize;
+
+	g_type_class_add_private (klass, sizeof (RBShellPreferencesPrivate));
 }
 
 static void
@@ -130,7 +126,7 @@ rb_shell_preferences_init (RBShellPrefer
 	GtkWidget *help;
 	GladeXML *xml;
 
-	shell_preferences->priv = g_new0 (RBShellPreferencesPrivate, 1);
+	shell_preferences->priv = RB_SHELL_PREFERENCES_GET_PRIVATE (shell_preferences);
 
 	g_signal_connect_object (G_OBJECT (shell_preferences),
 				 "delete_event",
@@ -219,8 +215,6 @@ rb_shell_preferences_finalize (GObject *
 	shell_preferences = RB_SHELL_PREFERENCES (object);
 
 	g_return_if_fail (shell_preferences->priv != NULL);
-
-	g_free (shell_preferences->priv);
 
 	G_OBJECT_CLASS (rb_shell_preferences_parent_class)->finalize (object);
 }
Index: shell/rb-shell.c
===================================================================
RCS file: /cvs/gnome/rhythmbox/shell/rb-shell.c,v
retrieving revision 1.360
diff -p -u -r1.360 rb-shell.c
--- shell/rb-shell.c	29 Nov 2005 07:12:28 -0000	1.360
+++ shell/rb-shell.c	30 Nov 2005 15:56: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 main Rhythmbox shell
  *
  *  Copyright (C) 2002, 2003 Jorn Baayen
@@ -21,24 +21,29 @@
  *
  */
 
-#include <gtk/gtk.h>
+#include <config.h>
+
+#include <string.h>
+#include <ctype.h>
+#include <stdio.h>
+#include <sys/stat.h>
+
+#include <glib/gi18n.h>
 #include <gdk/gdk.h>
 #include <gdk/gdkx.h>
+#include <gtk/gtk.h>
+
 #include <X11/Xatom.h>
-#include <config.h>
+
 #include <libgnome/libgnome.h>
 #include <libgnomeui/gnome-stock-icons.h>
-#include <libgnome/gnome-i18n.h>
 #include <libgnome/gnome-init.h>
 #include <libgnome/gnome-program.h>
 #include <libgnomeui/gnome-window-icon.h>
 #include <libgnomeui/gnome-client.h>
+
 #include <libgnomevfs/gnome-vfs.h>
 #include <libgnomevfs/gnome-vfs-mime-utils.h>
-#include <string.h>
-#include <ctype.h>
-#include <stdio.h>
-#include <sys/stat.h>
 
 #include "rb-shell.h"
 #include "rb-debug.h"
@@ -370,6 +375,8 @@ struct RBShellPrivate
 	gint paned_position;
 };
 
+#define RB_SHELL_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), RB_TYPE_SHELL, RBShellPrivate))
+
 static GtkActionEntry rb_shell_actions [] =
 {
 	{ "Music", NULL, N_("_Music") },
@@ -532,6 +539,7 @@ rb_shell_class_init (RBShellClass *klass
 							      GTK_TYPE_WINDOW,
 							      G_PARAM_READABLE));
 
+	g_type_class_add_private (klass, sizeof (RBShellPrivate));
 }
 
 static void
@@ -581,7 +589,7 @@ rb_shell_init (RBShell *shell) 
 {
 	char *file;
 	
-	shell->priv = g_new0 (RBShellPrivate, 1);
+	shell->priv = RB_SHELL_GET_PRIVATE (shell);
 
 	rb_dot_dir ();
 
@@ -780,7 +788,6 @@ rb_shell_finalize (GObject *object)
 		gtk_widget_destroy (shell->priv->prefs);
 	
 	g_free (shell->priv->rhythmdb_file);
-	g_free (shell->priv);
 
         ((GObjectClass*)rb_shell_parent_class)->finalize (G_OBJECT (shell));
 
Index: shell/rb-source-header.c
===================================================================
RCS file: /cvs/gnome/rhythmbox/shell/rb-source-header.c,v
retrieving revision 1.36
diff -p -u -r1.36 rb-source-header.c
--- shell/rb-source-header.c	21 Nov 2005 13:18:12 -0000	1.36
+++ shell/rb-source-header.c	30 Nov 2005 15:56:18 -0000
@@ -1,4 +1,5 @@
-/* 
+/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*-
+ * 
  *  arch-tag: Implementation of search entry/browse toggle container
  *
  *  Copyright (C) 2003 Jorn Baayen <jorn@nl.linux.org>
@@ -20,12 +21,13 @@
  *
  */
 
-#include <gtk/gtk.h>
 #include <config.h>
 #include <unistd.h>
 #include <stdlib.h>
 #include <string.h>
-#include <libgnome/gnome-i18n.h>
+
+#include <glib/gi18n.h>
+#include <gtk/gtk.h>
 
 #include "disclosure-widget.h"
 #include "rb-source-header.h"
@@ -85,6 +87,8 @@ struct RBSourceHeaderPrivate
 	GHashTable *source_search_text;
 };
 
+#define RB_SOURCE_HEADER_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), RB_TYPE_SOURCE_HEADER, RBSourceHeaderPrivate))
+
 enum
 {
 	PROP_0,
@@ -127,6 +131,8 @@ rb_source_header_class_init (RBSourceHea
 							      "GtkActionGroup object",
 							      GTK_TYPE_ACTION_GROUP,
 							      G_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY));
+
+	g_type_class_add_private (klass, sizeof (RBSourceHeaderPrivate));
 }
 
 static void
@@ -134,7 +140,8 @@ rb_source_header_init (RBSourceHeader *h
 {
 	GtkWidget *align;
 	GtkEventBox *ebox;
-	header->priv = g_new0 (RBSourceHeaderPrivate, 1);
+
+	header->priv = RB_SOURCE_HEADER_GET_PRIVATE (header);
 
 	header->priv->tooltips = gtk_tooltips_new ();
 	gtk_tooltips_enable (header->priv->tooltips);
@@ -201,8 +208,6 @@ rb_source_header_finalize (GObject *obje
 			      (GHFunc) rb_source_header_source_weak_unref,
 			      header);
 	g_hash_table_destroy (header->priv->source_search_text);
-
-	g_free (header->priv);
 
 	G_OBJECT_CLASS (rb_source_header_parent_class)->finalize (object);
 }
Index: shell/rb-statusbar.c
===================================================================
RCS file: /cvs/gnome/rhythmbox/shell/rb-statusbar.c,v
retrieving revision 1.40
diff -p -u -r1.40 rb-statusbar.c
--- shell/rb-statusbar.c	12 Sep 2005 04:10:05 -0000	1.40
+++ shell/rb-statusbar.c	30 Nov 2005 15:56:18 -0000
@@ -21,12 +21,14 @@
  *
  */
 
-#include <gtk/gtk.h>
 #include <config.h>
+
 #include <unistd.h>
 #include <stdlib.h>
 #include <string.h>
-#include <libgnome/gnome-i18n.h>
+
+#include <glib/gi18n.h>
+#include <gtk/gtk.h>
 
 #include "rb-statusbar.h"
 #include "rb-preferences.h"
@@ -109,6 +111,8 @@ struct RBStatusbarPrivate
 	guint notify_id;
 };
 
+#define RB_STATUSBAR_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), RB_TYPE_STATUSBAR, RBStatusbarPrivate))
+
 enum
 {
         PROP_0,
@@ -165,7 +169,7 @@ rb_statusbar_class_init (RBStatusbarClas
                                                               RB_TYPE_SHELL_PLAYER,
                                                               G_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY));
 
-
+	g_type_class_add_private (klass, sizeof (RBStatusbarPrivate));
 }
 
 static GObject*
@@ -200,7 +204,7 @@ rb_statusbar_construct (GType           
 static void
 rb_statusbar_init (RBStatusbar *statusbar)
 {
-        statusbar->priv = g_new0 (RBStatusbarPrivate, 1);
+	statusbar->priv = RB_STATUSBAR_GET_PRIVATE (statusbar);
 
         statusbar->priv->tooltips = gtk_tooltips_new ();
         gtk_tooltips_enable (statusbar->priv->tooltips);
@@ -263,8 +267,6 @@ rb_statusbar_finalize (GObject *object)
         if (statusbar->priv->status_poll_id)
                 g_source_remove (statusbar->priv->status_poll_id);
         
-        g_free (statusbar->priv);
-
         G_OBJECT_CLASS (parent_class)->finalize (object);
 }
 
Index: shell/rb-tray-icon.c
===================================================================
RCS file: /cvs/gnome/rhythmbox/shell/rb-tray-icon.c,v
retrieving revision 1.23
diff -p -u -r1.23 rb-tray-icon.c
--- shell/rb-tray-icon.c	20 Nov 2005 06:16:08 -0000	1.23
+++ shell/rb-tray-icon.c	30 Nov 2005 15:56:18 -0000
@@ -1,4 +1,5 @@
-/*
+/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*-
+ *
  *  arch-tag: Implementation of Rhythmbox tray icon object
  *
  *  Copyright (C) 2003,2004 Colin Walters <walters@redhat.com>
@@ -19,12 +20,14 @@
  *
  */
 
-#include <gtk/gtk.h>
 #include <config.h>
+
 #include <unistd.h>
 #include <stdlib.h>
 #include <string.h>
-#include <libgnome/gnome-i18n.h>
+
+#include <glib/gi18n.h>
+#include <gtk/gtk.h>
 #include <libgnomevfs/gnome-vfs.h>
 #include <libgnomevfs/gnome-vfs-mime-utils.h>
 
@@ -81,6 +84,8 @@ struct RBTrayIconPrivate
 	RBRemoteProxy *proxy;
 };
 
+#define RB_TRAY_ICON_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), RB_TYPE_TRAY_ICON, RBTrayIconPrivate))
+
 enum
 {
 	PROP_0,
@@ -168,6 +173,8 @@ rb_tray_icon_class_init (RBTrayIconClass
 							      "GtkActionGroup object",
 							      GTK_TYPE_ACTION_GROUP,
 							      G_PARAM_READABLE));
+
+	g_type_class_add_private (klass, sizeof (RBTrayIconPrivate));
 }
 
 static void
@@ -177,7 +184,7 @@ rb_tray_icon_init (RBTrayIcon *icon)
 
 	rb_debug ("setting up tray icon");
 
-	icon->priv = g_new0 (RBTrayIconPrivate, 1);
+	icon->priv = RB_TRAY_ICON_GET_PRIVATE (icon);
 
 	icon->priv->tooltips = gtk_tooltips_new ();
 
@@ -251,8 +258,6 @@ rb_tray_icon_finalize (GObject *object)
 	g_return_if_fail (tray->priv != NULL);
 	
 	gtk_object_destroy (GTK_OBJECT (tray->priv->tooltips));
-
-	g_free (tray->priv);
 
 	G_OBJECT_CLASS (parent_class)->finalize (object);
 }
Index: widgets/rb-cell-renderer-rating.c
===================================================================
RCS file: /cvs/gnome/rhythmbox/widgets/rb-cell-renderer-rating.c,v
retrieving revision 1.8
diff -p -u -r1.8 rb-cell-renderer-rating.c
--- widgets/rb-cell-renderer-rating.c	30 Nov 2005 08:47:23 -0000	1.8
+++ widgets/rb-cell-renderer-rating.c	30 Nov 2005 15:56:18 -0000
@@ -1,6 +1,6 @@
 /* -*- 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
  *
  * Copyright (C) 2000  Red Hat, Inc.,  Jonathan Blandford <jrb@redhat.com>
@@ -20,7 +20,7 @@
  * License along with this library; if not, write to the
  * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
  * Boston, MA 02111-1307, USA.
- *  $ Id $
+ *
  */
 
 #include <config.h>
