Mercurial > pidgin
diff libpurple/theme.c @ 25096:fbf72bbd1084
Fixed up a few typos, readability, leaks, and bugs, all minor and mostly in theme and theme loader classes
| author | Justin Rodriguez <ffdragon@soc.pidgin.im> |
|---|---|
| date | Mon, 30 Jun 2008 03:50:35 +0000 |
| parents | 5a02912e0bac |
| children | 748308865dbf |
line wrap: on
line diff
--- a/libpurple/theme.c Fri Jun 27 21:01:47 2008 +0000 +++ b/libpurple/theme.c Mon Jun 30 03:50:35 2008 +0000 @@ -37,7 +37,7 @@ gchar *author; gchar *type; gchar *dir; - PurpleStoredImage *img; + gchar *img; } PurpleThemePrivate; /****************************************************************************** @@ -87,7 +87,7 @@ g_value_set_string(value, purple_theme_get_dir(theme)); break; case PROP_IMAGE: - g_value_set_pointer(value, purple_theme_get_image(theme)); + g_value_set_string(value, purple_theme_get_image(theme)); break; default: G_OBJECT_WARN_INVALID_PROPERTY_ID(obj, param_id, psec); @@ -118,7 +118,7 @@ purple_theme_set_dir(theme, g_value_get_string(value)); break; case PROP_IMAGE: - purple_theme_set_image(theme, g_value_get_pointer(value)); + purple_theme_set_image(theme, g_value_get_string(value)); break; default: G_OBJECT_WARN_INVALID_PROPERTY_ID(obj, param_id, psec); @@ -130,7 +130,8 @@ purple_theme_init(GTypeInstance *instance, gpointer klass) { - (PURPLE_THEME(instance))->priv = g_new0(PurpleThemePrivate, 1); + PurpleTheme *theme = PURPLE_THEME(instance); + theme->priv = g_new0(PurpleThemePrivate, 1); } static void @@ -144,7 +145,7 @@ g_free(priv->author); g_free(priv->type); g_free(priv->dir); - purple_imgstore_unref(priv->img); + g_free(priv->img); G_OBJECT_CLASS (parent_class)->finalize (obj); } @@ -192,8 +193,9 @@ G_PARAM_READWRITE | G_PARAM_CONSTRUCT); g_object_class_install_property(obj_class, PROP_DIR, pspec); /* PREVIEW IMAGE */ - pspec = g_param_spec_pointer("image", "Image", + pspec = g_param_spec_string("image", "Image", "A preview image of the theme", + NULL, G_PARAM_READWRITE); g_object_class_install_property(obj_class, PROP_IMAGE, pspec); } @@ -228,7 +230,7 @@ * Public API functions * *****************************************************************************/ -gchar * +const gchar * purple_theme_get_name(PurpleTheme *theme) { PurpleThemePrivate *priv; @@ -249,10 +251,10 @@ priv = PURPLE_THEME_GET_PRIVATE(theme); g_free(priv->name); - priv->name = g_strdup (name); + priv->name = g_strdup(name); } -gchar * +const gchar * purple_theme_get_description(PurpleTheme *theme) { PurpleThemePrivate *priv; @@ -273,10 +275,10 @@ priv = PURPLE_THEME_GET_PRIVATE(theme); g_free(priv->description); - priv->description = g_strdup (description); + priv->description = g_strdup(description); } -gchar * +const gchar * purple_theme_get_author(PurpleTheme *theme) { PurpleThemePrivate *priv; @@ -297,10 +299,10 @@ priv = PURPLE_THEME_GET_PRIVATE(theme); g_free(priv->author); - priv->author = g_strdup (author); + priv->author = g_strdup(author); } -gchar * +const gchar * purple_theme_get_type_string(PurpleTheme *theme) { PurpleThemePrivate *priv; @@ -322,10 +324,10 @@ priv = PURPLE_THEME_GET_PRIVATE(theme); g_free(priv->type); - priv->type = g_strdup (type); + priv->type = g_strdup(type); } -gchar * +const gchar * purple_theme_get_dir(PurpleTheme *theme) { PurpleThemePrivate *priv; @@ -346,10 +348,10 @@ priv = PURPLE_THEME_GET_PRIVATE(theme); g_free(priv->dir); - priv->dir = g_strdup (dir); + priv->dir = g_strdup(dir); } -PurpleStoredImage * +const gchar * purple_theme_get_image(PurpleTheme *theme) { PurpleThemePrivate *priv; @@ -358,11 +360,21 @@ priv = PURPLE_THEME_GET_PRIVATE(theme); - return purple_imgstore_ref(priv->img); + return priv->img; +} + +gchar * +purple_theme_get_image_full(PurpleTheme *theme) +{ + const gchar *filename = purple_theme_get_image(theme); + + g_return_val_if_fail(filename, NULL); + + return g_build_filename(purple_theme_get_dir(PURPLE_THEME(theme)), filename, NULL); } void -purple_theme_set_image(PurpleTheme *theme, PurpleStoredImage *img) +purple_theme_set_image(PurpleTheme *theme, const gchar *img) { PurpleThemePrivate *priv; @@ -370,6 +382,6 @@ priv = PURPLE_THEME_GET_PRIVATE(theme); - purple_imgstore_unref(priv->img); - priv->img = img; + g_free(priv->img); + priv->img = g_strdup(img); }
