aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTed Gould <ted@gould.cx>2010-06-22 16:38:17 -0500
committerTed Gould <ted@gould.cx>2010-06-22 16:38:17 -0500
commitb94449562eed07c2440ce54dfac1a2c9eb7aadd0 (patch)
tree88909bb475ed3818826c3eb4819bf0ad6a8b59b8
parentd5550be789ee837d4fa591540fc323f6b39844d1 (diff)
parent0ace7ce970cdffdca66ab7d19c152269f358b730 (diff)
downloadlibdbusmenu-b94449562eed07c2440ce54dfac1a2c9eb7aadd0.tar.gz
libdbusmenu-b94449562eed07c2440ce54dfac1a2c9eb7aadd0.tar.bz2
libdbusmenu-b94449562eed07c2440ce54dfac1a2c9eb7aadd0.zip
* Upstream Merge
* Changing the format on the get side of things
-rw-r--r--debian/changelog7
-rw-r--r--libdbusmenu-gtk/client.c20
-rw-r--r--libdbusmenu-gtk/menuitem.c43
3 files changed, 35 insertions, 35 deletions
diff --git a/debian/changelog b/debian/changelog
index de20360..4ef6dd1 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,3 +1,10 @@
+libdbusmenu (0.3.2-1ubuntu1~ppa5~qtish1) UNRELEASED; urgency=low
+
+ * Upstream Merge
+ * Changing the format on the get side of things
+
+ -- Ted Gould <ted@ubuntu.com> Tue, 22 Jun 2010 16:37:31 -0500
+
libdbusmenu (0.3.2-1ubuntu1~ppa4) lucid; urgency=low
* Upstream Merge
diff --git a/libdbusmenu-gtk/client.c b/libdbusmenu-gtk/client.c
index 91bc816..c73c90f 100644
--- a/libdbusmenu-gtk/client.c
+++ b/libdbusmenu-gtk/client.c
@@ -144,12 +144,12 @@ do_swap_agroup (DbusmenuMenuitem * mi, gpointer userdata) {
dbusmenu_menuitem_property_get_shortcut(mi, &key, &modifiers);
- g_debug("Setting shortcut on '%s': %d %X", dbusmenu_menuitem_property_get(mi, DBUSMENU_MENUITEM_PROP_LABEL), key, modifiers);
-
if (key == 0) {
return FALSE;
}
+ g_debug("Setting shortcut on '%s': %d %X", dbusmenu_menuitem_property_get(mi, DBUSMENU_MENUITEM_PROP_LABEL), key, modifiers);
+
GtkMenuItem * gmi = dbusmenu_gtkclient_menuitem_get(data->client, mi);
if (gmi == NULL) {
return FALSE;
@@ -197,16 +197,18 @@ refresh_shortcut (DbusmenuGtkClient * client, DbusmenuMenuitem * mi)
data.new_agroup = priv->agroup;
if (do_swap_agroup(mi, &data)) {
- guint key;
- GdkModifierType mod;
- GtkMenuItem *gmi = dbusmenu_gtkclient_menuitem_get (client, mi);
+ guint key = 0;
+ GdkModifierType mod = 0;
+ GtkMenuItem *gmi = dbusmenu_gtkclient_menuitem_get (client, mi);
- dbusmenu_menuitem_property_get_shortcut (mi, &key, &mod);
+ dbusmenu_menuitem_property_get_shortcut (mi, &key, &mod);
- gtk_widget_add_accelerator (GTK_WIDGET (gmi), "activate", priv->agroup, key, mod, GTK_ACCEL_VISIBLE);
- }
+ if (key != 0) {
+ gtk_widget_add_accelerator (GTK_WIDGET (gmi), "activate", priv->agroup, key, mod, GTK_ACCEL_VISIBLE);
+ }
+ }
- return;
+ return;
}
diff --git a/libdbusmenu-gtk/menuitem.c b/libdbusmenu-gtk/menuitem.c
index a7aa9d2..5d41934 100644
--- a/libdbusmenu-gtk/menuitem.c
+++ b/libdbusmenu-gtk/menuitem.c
@@ -295,28 +295,28 @@ dbusmenu_menuitem_property_get_shortcut (DbusmenuMenuitem * menuitem, guint * ke
if (wrapper == NULL) {
return;
}
- if (!G_VALUE_HOLDS(wrapper, G_TYPE_VALUE_ARRAY)) {
+ if (!G_VALUE_HOLDS(wrapper, G_TYPE_PTR_ARRAY)) {
g_warning("Unexpected shortcut structure. Wrapper is: %s", G_VALUE_TYPE_NAME(wrapper));
return;
}
- GValueArray * wrapperarray = (GValueArray *)g_value_get_boxed(wrapper);
- if (wrapperarray->n_values == 0) {
+ GPtrArray * wrapperarray = (GPtrArray *)g_value_get_boxed(wrapper);
+ if (wrapperarray->len == 0) {
return;
}
- if (wrapperarray->n_values != 1) {
+ if (wrapperarray->len != 1) {
g_warning("Shortcut is more than one entry. Which we don't currently support. Taking the first.");
}
- GValue * ventryarray = g_value_array_get_nth(wrapperarray, 0);
- if (!G_VALUE_HOLDS(ventryarray, G_TYPE_VALUE_ARRAY)) {
+ GValue * ventryarray = g_ptr_array_index(wrapperarray, 0);
+ if (!G_VALUE_HOLDS(ventryarray, G_TYPE_STRV)) {
g_warning("Unexpected shortcut structure. Value array is: %s", G_VALUE_TYPE_NAME(ventryarray));
return;
}
- GValueArray * entryarray = (GValueArray *)g_value_get_boxed(ventryarray);
- if (entryarray->n_values == 0) {
+ gchar ** entryarray = (gchar **)g_value_get_boxed(ventryarray);
+ if (entryarray == NULL || entryarray[0] == NULL) {
/* Seems a little odd, but really, we're saying that it isn't a
shortcut, so I'm comfortable with exiting silently. */
return;
@@ -324,40 +324,31 @@ dbusmenu_menuitem_property_get_shortcut (DbusmenuMenuitem * menuitem, guint * ke
/* Parse through modifiers */
int i;
- for (i = 0; i < entryarray->n_values - 1; i++) {
- GValue * value = g_value_array_get_nth(entryarray, i);
+ for (i = 0; entryarray[i + 1] != NULL; i++) {
+ gchar * value = entryarray[i];
- if (!G_VALUE_HOLDS_STRING(value)) {
- continue;
- }
-
- if (g_strcmp0(g_value_get_string(value), DBUSMENU_MENUITEM_SHORTCUT_CONTROL) == 0) {
+ if (g_strcmp0(value, DBUSMENU_MENUITEM_SHORTCUT_CONTROL) == 0) {
*modifier |= GDK_CONTROL_MASK;
continue;
}
- if (g_strcmp0(g_value_get_string(value), DBUSMENU_MENUITEM_SHORTCUT_ALT) == 0) {
+ if (g_strcmp0(value, DBUSMENU_MENUITEM_SHORTCUT_ALT) == 0) {
*modifier |= GDK_MOD1_MASK;
continue;
}
- if (g_strcmp0(g_value_get_string(value), DBUSMENU_MENUITEM_SHORTCUT_SHIFT) == 0) {
+ if (g_strcmp0(value, DBUSMENU_MENUITEM_SHORTCUT_SHIFT) == 0) {
*modifier |= GDK_SHIFT_MASK;
continue;
}
- if (g_strcmp0(g_value_get_string(value), DBUSMENU_MENUITEM_SHORTCUT_SUPER) == 0) {
+ if (g_strcmp0(value, DBUSMENU_MENUITEM_SHORTCUT_SUPER) == 0) {
*modifier |= GDK_SUPER_MASK;
continue;
}
}
GdkModifierType tempmod;
-
- GValue * accelval = g_value_array_get_nth(entryarray, entryarray->n_values - 1);
- if (!G_VALUE_HOLDS_STRING(accelval)) {
- *modifier = 0;
- return;
- }
-
- gtk_accelerator_parse(g_value_get_string(accelval), key, &tempmod);
+ gchar * accelval = entryarray[i];
+ gtk_accelerator_parse(accelval, key, &tempmod);
return;
}
+