aboutsummaryrefslogtreecommitdiff
path: root/libindicate
diff options
context:
space:
mode:
authorTed Gould <ted@canonical.com>2009-02-12 14:03:52 -0600
committerTed Gould <ted@canonical.com>2009-02-12 14:03:52 -0600
commit1a8b895c2815ad2055fbd579df4f6f53189f702c (patch)
treedad67126ef39eb930c19bc0213916ff231e7e0be /libindicate
parent52cd253079f2d50f0b14e4369f0604fd1ff6ab64 (diff)
downloadlibayatana-indicator-1a8b895c2815ad2055fbd579df4f6f53189f702c.tar.gz
libayatana-indicator-1a8b895c2815ad2055fbd579df4f6f53189f702c.tar.bz2
libayatana-indicator-1a8b895c2815ad2055fbd579df4f6f53189f702c.zip
Changing the icon data to be base64 encoded, should have done that originally, how silly.
Diffstat (limited to 'libindicate')
-rw-r--r--libindicate/listener.c7
1 files changed, 6 insertions, 1 deletions
diff --git a/libindicate/listener.c b/libindicate/listener.c
index c4b1882..b704236 100644
--- a/libindicate/listener.c
+++ b/libindicate/listener.c
@@ -687,10 +687,14 @@ get_property_cb (DBusGProxy *proxy, char * OUT_value, GError *error, gpointer us
}
case PROPERTY_TYPE_ICON: {
indicate_listener_get_property_icon_cb cb = (indicate_listener_get_property_icon_cb)get_property_data->cb;
+
+ gsize length = 0;
+ guchar * icondata = g_base64_decode(OUT_value, &length);
- GInputStream * input = g_memory_input_stream_new_from_data(OUT_value, strlen(OUT_value) - 1, NULL);
+ GInputStream * input = g_memory_input_stream_new_from_data(icondata, length, NULL);
if (input == NULL) {
g_warning("Cound not create input stream from icon property data");
+ g_free(icondata);
break;
}
@@ -711,6 +715,7 @@ get_property_cb (DBusGProxy *proxy, char * OUT_value, GError *error, gpointer us
g_warning("Unable to close input stream: %s", error->message);
g_error_free(error);
}
+ g_free(icondata);
break;
}
case PROPERTY_TYPE_TIME: {