ayatana-commits team mailing list archive
-
ayatana-commits team
-
Mailing list archive
-
Message #03264
[Branch ~dbusmenu-team/dbusmenu/trunk] Rev 246: Removing properties by setting the variant to NULL to generate signals and cleaning up an associa...
Merge authors:
Chris Coulson (chrisccoulson)
Related merge proposals:
https://code.launchpad.net/~chrisccoulson/dbusmenu/lp723873/+merge/51648
proposed by: Chris Coulson (chrisccoulson)
review: Approve - Ted Gould (ted)
------------------------------------------------------------
revno: 246 [merge]
committer: Ted Gould <ted@xxxxxxxx>
branch nick: trunk
timestamp: Tue 2011-03-01 11:38:48 -0600
message:
Removing properties by setting the variant to NULL to generate signals and cleaning up an associated warning.
modified:
libdbusmenu-glib/menuitem.c
--
lp:dbusmenu
https://code.launchpad.net/~dbusmenu-team/dbusmenu/trunk
Your team ayatana-commits is subscribed to branch lp:dbusmenu.
To unsubscribe from this branch go to https://code.launchpad.net/~dbusmenu-team/dbusmenu/trunk/+edit-subscription
=== modified file 'libdbusmenu-glib/menuitem.c'
--- libdbusmenu-glib/menuitem.c 2011-02-25 03:30:16 +0000
+++ libdbusmenu-glib/menuitem.c 2011-03-01 11:15:19 +0000
@@ -1150,9 +1150,9 @@
DbusmenuMenuitemPrivate * priv = DBUSMENU_MENUITEM_GET_PRIVATE(mi);
GVariant * default_value = NULL;
+ const gchar * type = menuitem_get_type(mi);
+
if (value != NULL) {
- const gchar * type = menuitem_get_type(mi);
-
/* Check the expected type to see if we want to have a warning */
GVariantType * default_type = dbusmenu_defaults_default_get_type(priv->defaults, type, property);
if (default_type != NULL) {
@@ -1163,22 +1163,23 @@
g_warning("Setting menuitem property '%s' with value of type '%s' when expecting '%s'", property, g_variant_get_type_string(value), g_variant_type_peek_string(default_type));
}
}
+ }
- /* Check the defaults database to see if we have a default
- for this property. */
- default_value = dbusmenu_defaults_default_get(priv->defaults, type, property);
- if (default_value != NULL) {
- /* Now see if we're setting this to the same value as the
- default. If we are then we just want to swallow this variant
- and make the function behave like we're clearing it. */
- if (g_variant_equal(default_value, value)) {
- g_variant_ref_sink(value);
- g_variant_unref(value);
- value = NULL;
- }
+ /* Check the defaults database to see if we have a default
+ for this property. */
+ default_value = dbusmenu_defaults_default_get(priv->defaults, type, property);
+ if (default_value != NULL && value != NULL) {
+ /* Now see if we're setting this to the same value as the
+ default. If we are then we just want to swallow this variant
+ and make the function behave like we're clearing it. */
+ if (g_variant_equal(default_value, value)) {
+ g_variant_ref_sink(value);
+ g_variant_unref(value);
+ value = NULL;
}
}
+
gboolean replaced = FALSE;
gpointer currentval = g_hash_table_lookup(priv->properties, property);
@@ -1371,9 +1372,7 @@
g_return_if_fail(DBUSMENU_IS_MENUITEM(mi));
g_return_if_fail(property != NULL);
- DbusmenuMenuitemPrivate * priv = DBUSMENU_MENUITEM_GET_PRIVATE(mi);
-
- g_hash_table_remove(priv->properties, property);
+ dbusmenu_menuitem_property_set_variant(mi, property, NULL);
return;
}
@@ -1753,13 +1752,8 @@
return FALSE;
}
- currentval = dbusmenu_defaults_default_get(priv->defaults, menuitem_get_type(mi), property);
- if (currentval != NULL) {
- return TRUE;
- }
-
- g_warn_if_reached();
- return FALSE;
+ /* If we haven't stored it locally, then it's the default */
+ return TRUE;
}
/* Check to see if this menu item has been sent into the bus yet or