libpurple/protocols/facebook/data.c

changeset 37560
92885e0456ed
parent 37471
32c1e77d0474
child 38403
e27755a3a92e
--- a/libpurple/protocols/facebook/data.c	Sun Jan 24 18:22:10 2016 -0800
+++ b/libpurple/protocols/facebook/data.c	Mon Jan 25 13:04:40 2016 -0500
@@ -45,6 +45,7 @@
 	gchar *url;
 	FbDataImageFunc func;
 	gpointer data;
+	GDestroyNotify dunc;
 
 	gboolean active;
 	const guint8 *image;
@@ -122,6 +123,10 @@
 	FbDataImagePrivate *priv = img->priv;
 	FbData *fata = priv->fata;
 
+	if ((priv->dunc != NULL) && (priv->data != NULL)) {
+		priv->dunc(priv->data);
+	}
+
 	g_free(priv->url);
 	g_hash_table_steal(fata->priv->imgs, img);
 }
@@ -428,7 +433,7 @@
 
 FbDataImage *
 fb_data_image_add(FbData *fata, const gchar *url, FbDataImageFunc func,
-                  gpointer data)
+                  gpointer data, GDestroyNotify dunc)
 {
 	FbDataImage *img;
 	FbDataImagePrivate *priv;
@@ -444,6 +449,7 @@
 	priv->url = g_strdup(url);
 	priv->func = func;
 	priv->data = data;
+	priv->dunc = dunc;
 
 	g_hash_table_insert(fata->priv->imgs, img, img);
 	return img;

mercurial