aboutsummaryrefslogtreecommitdiff
path: root/libdbusmenu-gtk/parser.c
diff options
context:
space:
mode:
authorTed Gould <ted@gould.cx>2011-10-13 17:03:01 -0500
committerTed Gould <ted@gould.cx>2011-10-13 17:03:01 -0500
commitc60ab35eae0b3a41f78f95da84e21c604bc98d57 (patch)
tree61cf6766c40b339b93e2ee046c31e1750f91b65a /libdbusmenu-gtk/parser.c
parentda6a2dfa870a1925ebb98fb10286bcde62d2db11 (diff)
downloadlibdbusmenu-c60ab35eae0b3a41f78f95da84e21c604bc98d57.tar.gz
libdbusmenu-c60ab35eae0b3a41f78f95da84e21c604bc98d57.tar.bz2
libdbusmenu-c60ab35eae0b3a41f78f95da84e21c604bc98d57.zip
Don't try to get objects from boolean values. Handle the 'always show image' property by getting the image from the object and using that
Diffstat (limited to 'libdbusmenu-gtk/parser.c')
-rw-r--r--libdbusmenu-gtk/parser.c9
1 files changed, 7 insertions, 2 deletions
diff --git a/libdbusmenu-gtk/parser.c b/libdbusmenu-gtk/parser.c
index e988c62..92932c5 100644
--- a/libdbusmenu-gtk/parser.c
+++ b/libdbusmenu-gtk/parser.c
@@ -1059,8 +1059,13 @@ widget_notify_cb (GtkWidget *widget,
DBUSMENU_MENUITEM_PROP_VISIBLE,
g_value_get_boolean (&prop_value));
}
- else if (pspec->name == g_intern_static_string ("image") ||
- pspec->name == g_intern_static_string ("always-show-image"))
+ else if (pspec->name == g_intern_static_string ("always-show-image"))
+ {
+ GtkWidget *image = NULL;
+ g_object_get(widget, "image", &image, NULL);
+ update_icon (child, GTK_IMAGE(image));
+ }
+ else if (pspec->name == g_intern_static_string ("image"))
{
GtkWidget *image;
image = GTK_WIDGET (g_value_get_object (&prop_value));