libpurple/smiley.c

branch
soc.2013.gobjectification.plugins
changeset 37134
07746c9a04bf
parent 37133
832cd077145e
parent 35812
48c6ee645ca1
child 37135
6271bcdee576
--- a/libpurple/smiley.c	Mon Apr 07 20:02:22 2014 +0530
+++ b/libpurple/smiley.c	Fri Apr 11 16:23:12 2014 +0530
@@ -23,7 +23,6 @@
 #include "glibcompat.h"
 #include "dbus-maybe.h"
 #include "debug.h"
-#include "imgstore.h"
 #include "smiley.h"
 #include "util.h"
 #include "xmlnode.h"
@@ -34,7 +33,7 @@
 typedef struct {
 	gchar *shortcut;
 	gchar *path;
-	PurpleStoredImage *image;
+	PurpleImage *image;
 	gboolean is_ready;
 } PurpleSmileyPrivate;
 
@@ -53,6 +52,7 @@
 	SIG_LAST
 };
 
+static GObjectClass *parent_class;
 static guint signals[SIG_LAST];
 static GParamSpec *properties[PROP_LAST];
 
@@ -103,7 +103,7 @@
 	return priv->path;
 }
 
-static PurpleStoredImage *
+static PurpleImage *
 purple_smiley_get_image_impl(PurpleSmiley *smiley)
 {
 	PurpleSmileyPrivate *priv = PURPLE_SMILEY_GET_PRIVATE(smiley);
@@ -122,7 +122,7 @@
 		return NULL;
 	}
 
-	priv->image = purple_imgstore_new_from_file(path);
+	priv->image = purple_image_new_from_file(path, TRUE);
 	if (!priv->image) {
 		purple_debug_error("smiley", "Couldn't load smiley data ");
 		return NULL;
@@ -130,7 +130,7 @@
 	return priv->image;
 }
 
-PurpleStoredImage *
+PurpleImage *
 purple_smiley_get_image(PurpleSmiley *smiley)
 {
 	PurpleSmileyClass *klass;
@@ -165,9 +165,11 @@
 	g_free(priv->path);
 
 	if (priv->image)
-		purple_imgstore_unref(priv->image);
+		g_object_unref(priv->image);
 
 	PURPLE_DBUS_UNREGISTER_POINTER(smiley);
+
+	G_OBJECT_CLASS(parent_class)->finalize(obj);
 }
 
 static void
@@ -224,6 +226,8 @@
 	GObjectClass *gobj_class = G_OBJECT_CLASS(klass);
 	PurpleSmileyClass *ps_class = PURPLE_SMILEY_CLASS(klass);
 
+	parent_class = g_type_class_peek_parent(klass);
+
 	g_type_class_add_private(klass, sizeof(PurpleSmileyPrivate));
 
 	gobj_class->get_property = purple_smiley_get_property;

mercurial