← Back to team overview

ayatana-commits team mailing list archive

[Branch ~dbusmenu-team/dbusmenu/trunk] Rev 61: Fixing the check tests.

 

Merge authors:
  Ted Gould (ted)
------------------------------------------------------------
revno: 61 [merge]
committer: Ted Gould <ted@xxxxxxxx>
branch nick: trunk
timestamp: Thu 2010-02-04 11:05:31 -0800
message:
  Fixing the check tests.
modified:
  libdbusmenu-gtk/client.c
  tests/test-gtk-label-server.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-gtk/client.c'
--- libdbusmenu-gtk/client.c	2010-02-04 17:59:00 +0000
+++ libdbusmenu-gtk/client.c	2010-02-04 18:56:49 +0000
@@ -150,17 +150,23 @@
 process_toggle_type (DbusmenuMenuitem * mi, GtkMenuItem * gmi, const GValue * value)
 {
 	if (!IS_GENERICMENUITEM(gmi)) return;
+	if (value == NULL) return;
 
 	GenericmenuitemCheckType type = GENERICMENUITEM_CHECK_TYPE_NONE;
 
-	if (value != NULL && G_VALUE_TYPE(value) == G_TYPE_STRING) {
-		const gchar * strval = g_value_get_string(value);
+	GValue strvalue = {0};
+	g_value_init(&strvalue, G_TYPE_STRING);
+
+	if (value != NULL && g_value_transform(value, &strvalue)) {
+		const gchar * strval = g_value_get_string(&strvalue);
 
 		if (!g_strcmp0(strval, DBUSMENU_MENUITEM_TOGGLE_CHECK)) {
 			type = GENERICMENUITEM_CHECK_TYPE_CHECKBOX;
 		} else if (!g_strcmp0(strval, DBUSMENU_MENUITEM_TOGGLE_RADIO)) {
 			type = GENERICMENUITEM_CHECK_TYPE_RADIO;
 		}
+
+		g_value_unset(&strvalue);
 	}
 
 	genericmenuitem_set_check_type(GENERICMENUITEM(gmi), type);
@@ -176,8 +182,11 @@
 
 	GenericmenuitemState state = GENERICMENUITEM_STATE_UNCHECKED;
 
-	if (value != NULL && G_VALUE_TYPE(value) == G_TYPE_INT) {
-		int val = g_value_get_int(value);
+	GValue intvalue = {0};
+	g_value_init(&intvalue, G_TYPE_INT);
+
+	if (value != NULL && g_value_transform(value, &intvalue)) {
+		int val = g_value_get_int(&intvalue);
 
 		if (val == DBUSMENU_MENUITEM_TOGGLE_STATE_CHECKED) {
 			state = GENERICMENUITEM_STATE_CHECKED;

=== modified file 'tests/test-gtk-label-server.c'
--- tests/test-gtk-label-server.c	2010-01-22 20:26:34 +0000
+++ tests/test-gtk-label-server.c	2010-02-04 19:04:28 +0000
@@ -53,7 +53,10 @@
 		JsonNode * lnode = json_object_get_member(node, member);
 		if (JSON_NODE_TYPE(lnode) != JSON_NODE_VALUE) { continue; }
 
-		dbusmenu_menuitem_property_set(mi, member, json_node_get_string(lnode));
+		GValue value = {0};
+		json_node_get_value(lnode, &value);
+		dbusmenu_menuitem_property_set_value(mi, member, &value);
+		g_value_unset(&value);
 	}
 
 	return;