diff libpurple/sound-theme.c @ 32157:4d92a431d0a1

Use GObject's instance private data for all the theme GObjects.
author Elliott Sales de Andrade <qulogic@pidgin.im>
date Sat, 17 Sep 2011 04:51:57 +0000
parents 0c7b74fc558e
children
line wrap: on
line diff
--- a/libpurple/sound-theme.c	Fri Sep 16 06:10:04 2011 +0000
+++ b/libpurple/sound-theme.c	Sat Sep 17 04:51:57 2011 +0000
@@ -24,7 +24,7 @@
 #include "sound-theme.h"
 
 #define PURPLE_SOUND_THEME_GET_PRIVATE(Gobject) \
-	((PurpleSoundThemePrivate *) ((PURPLE_SOUND_THEME(Gobject))->priv))
+	(G_TYPE_INSTANCE_GET_PRIVATE((Gobject), PURPLE_TYPE_SOUND_THEME, PurpleSoundThemePrivate))
 
 /******************************************************************************
  * Structs
@@ -55,8 +55,6 @@
 {
 	PurpleSoundThemePrivate *priv;
 
-	(PURPLE_SOUND_THEME(instance))->priv = g_new0(PurpleSoundThemePrivate, 1);
-
 	priv = PURPLE_SOUND_THEME_GET_PRIVATE(instance);
 
 	priv->sound_files = g_hash_table_new_full(g_str_hash,
@@ -82,6 +80,8 @@
 
 	parent_class = g_type_class_peek_parent(klass);
 
+	g_type_class_add_private(klass, sizeof(PurpleSoundThemePrivate));
+
 	obj_class->finalize = purple_sound_theme_finalize;
 }