diff options
author | Ted Gould <ted@gould.cx> | 2012-01-30 23:25:37 -0600 |
---|---|---|
committer | Ted Gould <ted@gould.cx> | 2012-01-30 23:25:37 -0600 |
commit | d4a56efd670ae2432da8be9932df365c75ea0d72 (patch) | |
tree | 0f489d0586d6c5701c663893e64d01190819e23e /libdbusmenu-gtk/menuitem.c | |
parent | 8b1876780ab91339e24d51f72f6b8f9c4a5abfed (diff) | |
parent | 9332359a3cad3a5f23e7ff0c4bae14159818d026 (diff) | |
download | libdbusmenu-d4a56efd670ae2432da8be9932df365c75ea0d72.tar.gz libdbusmenu-d4a56efd670ae2432da8be9932df365c75ea0d72.tar.bz2 libdbusmenu-d4a56efd670ae2432da8be9932df365c75ea0d72.zip |
* New upstream release.
* Add property for accessible descriptions
* Use insert/remove signals on GTK3 build
* Change icon data to be a byte stream instead of base64
* Adjust GTK3 include path to match other libs
* Don't get objects from boolean values (LP: #870742)
* Fix depreactions on GTK3 (LP: #917115)
Diffstat (limited to 'libdbusmenu-gtk/menuitem.c')
-rw-r--r-- | libdbusmenu-gtk/menuitem.c | 14 |
1 files changed, 4 insertions, 10 deletions
diff --git a/libdbusmenu-gtk/menuitem.c b/libdbusmenu-gtk/menuitem.c index 0f511bc..19ea1a0 100644 --- a/libdbusmenu-gtk/menuitem.c +++ b/libdbusmenu-gtk/menuitem.c @@ -66,11 +66,9 @@ dbusmenu_menuitem_property_set_image (DbusmenuMenuitem * menuitem, const gchar * return FALSE; } - gchar * prop_str = g_base64_encode((guchar *)png_data, png_data_len); gboolean propreturn = FALSE; - propreturn = dbusmenu_menuitem_property_set(menuitem, property, prop_str); + propreturn = dbusmenu_menuitem_property_set_byte_array(menuitem, property, (guchar *)png_data, png_data_len); - g_free(prop_str); g_free(png_data); return propreturn; @@ -94,20 +92,17 @@ dbusmenu_menuitem_property_get_image (DbusmenuMenuitem * menuitem, const gchar * g_return_val_if_fail(DBUSMENU_IS_MENUITEM(menuitem), NULL); g_return_val_if_fail(property != NULL && property[0] != '\0', NULL); - const gchar * value = dbusmenu_menuitem_property_get(menuitem, property); + gsize length = 0; + const guchar * icondata = dbusmenu_menuitem_property_get_byte_array(menuitem, property, &length); /* There is no icon */ - if (value == NULL || value[0] == '\0') { + if (length == 0) { return NULL; } - - gsize length = 0; - guchar * icondata = g_base64_decode(value, &length); 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); return NULL; } @@ -120,7 +115,6 @@ dbusmenu_menuitem_property_get_image (DbusmenuMenuitem * menuitem, const gchar * } g_object_unref(input); - g_free(icondata); return icon; } |