libpurple/theme-loader.c

branch
cpw.qulogic.gtk3
changeset 32438
dc8991868906
parent 28763
83dcbdb3f533
child 32955
e984f8b98a19
equal deleted inserted replaced
32437:a1093fbc45d2 32438:dc8991868906
22 22
23 #include "internal.h" 23 #include "internal.h"
24 #include "theme-loader.h" 24 #include "theme-loader.h"
25 25
26 #define PURPLE_THEME_LOADER_GET_PRIVATE(PurpleThemeLoader) \ 26 #define PURPLE_THEME_LOADER_GET_PRIVATE(PurpleThemeLoader) \
27 ((PurpleThemeLoaderPrivate *) ((PurpleThemeLoader)->priv)) 27 (G_TYPE_INSTANCE_GET_PRIVATE((PurpleThemeLoader), PURPLE_TYPE_THEME_LOADER, PurpleThemeLoaderPrivate))
28 28
29 void purple_theme_loader_set_type_string(PurpleThemeLoader *loader, const gchar *type); 29 void purple_theme_loader_set_type_string(PurpleThemeLoader *loader, const gchar *type);
30 30
31 /****************************************************************************** 31 /******************************************************************************
32 * Structs 32 * Structs
84 break; 84 break;
85 } 85 }
86 } 86 }
87 87
88 static void 88 static void
89 purple_theme_loader_init(GTypeInstance *instance,
90 gpointer klass)
91 {
92 PurpleThemeLoader *loader = PURPLE_THEME_LOADER(instance);
93 loader->priv = g_new0(PurpleThemeLoaderPrivate, 1);
94 }
95
96 static void
97 purple_theme_loader_finalize(GObject *obj) 89 purple_theme_loader_finalize(GObject *obj)
98 { 90 {
99 PurpleThemeLoader *loader = PURPLE_THEME_LOADER(obj); 91 PurpleThemeLoader *loader = PURPLE_THEME_LOADER(obj);
100 PurpleThemeLoaderPrivate *priv = PURPLE_THEME_LOADER_GET_PRIVATE(loader); 92 PurpleThemeLoaderPrivate *priv = PURPLE_THEME_LOADER_GET_PRIVATE(loader);
101 93
102 g_free(priv->type); 94 g_free(priv->type);
103 g_free(priv);
104 95
105 parent_class->finalize(obj); 96 parent_class->finalize(obj);
106 } 97 }
107 98
108 static void 99 static void
110 { 101 {
111 GObjectClass *obj_class = G_OBJECT_CLASS(klass); 102 GObjectClass *obj_class = G_OBJECT_CLASS(klass);
112 GParamSpec *pspec; 103 GParamSpec *pspec;
113 104
114 parent_class = g_type_class_peek_parent(klass); 105 parent_class = g_type_class_peek_parent(klass);
106
107 g_type_class_add_private(klass, sizeof(PurpleThemeLoaderPrivate));
115 108
116 obj_class->get_property = purple_theme_loader_get_property; 109 obj_class->get_property = purple_theme_loader_get_property;
117 obj_class->set_property = purple_theme_loader_set_property; 110 obj_class->set_property = purple_theme_loader_set_property;
118 obj_class->finalize = purple_theme_loader_finalize; 111 obj_class->finalize = purple_theme_loader_finalize;
119 112
137 (GClassInitFunc)purple_theme_loader_class_init, /* class_init */ 130 (GClassInitFunc)purple_theme_loader_class_init, /* class_init */
138 NULL, /* class_finalize */ 131 NULL, /* class_finalize */
139 NULL, /* class_data */ 132 NULL, /* class_data */
140 sizeof(PurpleThemeLoader), 133 sizeof(PurpleThemeLoader),
141 0, /* n_preallocs */ 134 0, /* n_preallocs */
142 purple_theme_loader_init, /* instance_init */ 135 NULL, /* instance_init */
143 NULL, /* value table */ 136 NULL, /* value table */
144 }; 137 };
145 type = g_type_register_static(G_TYPE_OBJECT, 138 type = g_type_register_static(G_TYPE_OBJECT,
146 "PurpleThemeLoader", &info, G_TYPE_FLAG_ABSTRACT); 139 "PurpleThemeLoader", &info, G_TYPE_FLAG_ABSTRACT);
147 } 140 }

mercurial