diff options
author | Ted Gould <ted@gould.cx> | 2011-10-13 17:03:01 -0500 |
---|---|---|
committer | Ted Gould <ted@gould.cx> | 2011-10-13 17:03:01 -0500 |
commit | c60ab35eae0b3a41f78f95da84e21c604bc98d57 (patch) | |
tree | 61cf6766c40b339b93e2ee046c31e1750f91b65a | |
parent | da6a2dfa870a1925ebb98fb10286bcde62d2db11 (diff) | |
download | libdbusmenu-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
-rw-r--r-- | libdbusmenu-gtk/parser.c | 9 |
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)); |