aboutsummaryrefslogtreecommitdiff
path: root/libdbusmenu-glib
diff options
context:
space:
mode:
authorTed Gould <ted@gould.cx>2012-03-02 15:19:45 -0600
committerTed Gould <ted@gould.cx>2012-03-02 15:19:45 -0600
commite11292ff7e55e6eeeef7ebb9260b238601db49c7 (patch)
treebe3bd1c75d6b57fbc91e0e965a15178bc1872c5f /libdbusmenu-glib
parent6f5a36c2abdad2fccc9848f34b3572c425abd39e (diff)
downloadlibdbusmenu-e11292ff7e55e6eeeef7ebb9260b238601db49c7.tar.gz
libdbusmenu-e11292ff7e55e6eeeef7ebb9260b238601db49c7.tar.bz2
libdbusmenu-e11292ff7e55e6eeeef7ebb9260b238601db49c7.zip
Not sending the update signal if the value is being cleared and it was already cleared
Diffstat (limited to 'libdbusmenu-glib')
-rw-r--r--libdbusmenu-glib/menuitem.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/libdbusmenu-glib/menuitem.c b/libdbusmenu-glib/menuitem.c
index 18db4ef..46546d6 100644
--- a/libdbusmenu-glib/menuitem.c
+++ b/libdbusmenu-glib/menuitem.c
@@ -1253,7 +1253,8 @@ dbusmenu_menuitem_property_set_variant (DbusmenuMenuitem * mi, const gchar * pro
becuse it has been unref'd when replaced in the hash
table. But the fact that there was a value is
the imporant part. */
- if (!inhash || replaced) {
+ if ((!inhash || replaced) &&
+ !(!inhash && value == NULL)) {
GVariant * signalval = value;
if (signalval == NULL) {