summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBastien Nocera <hadess@hadess.net>2011-11-10 11:24:25 +0000
committerBastien Nocera <hadess@hadess.net>2011-11-10 11:24:25 +0000
commitc70b7c7a9ed6377c988e02cdcc6742672851b880 (patch)
tree933cfc890581339ace9adca83bbe3a4a2723ddeb
parente62b2b97cec5118b883ab0ea0751e2c7ef646d82 (diff)
downloadgnome-control-center-c70b7c7a9ed6377c988e02cdcc6742672851b880.tar.gz
keyboard: Update for eggaccelerators API change
Following update from gnome-settings-daemon Also correct return value when only a keycode is passed.
-rw-r--r--panels/keyboard/cc-keyboard-item.c14
1 files changed, 9 insertions, 5 deletions
diff --git a/panels/keyboard/cc-keyboard-item.c b/panels/keyboard/cc-keyboard-item.c
index 64dbb530c..b92fa8b92 100644
--- a/panels/keyboard/cc-keyboard-item.c
+++ b/panels/keyboard/cc-keyboard-item.c
@@ -63,6 +63,9 @@ binding_from_string (const char *str,
guint *keycode,
EggVirtualModifierType *accelerator_mods)
{
+ EggParseError ret;
+ guint *keycodes;
+
g_return_val_if_fail (accelerator_key != NULL, FALSE);
if (str == NULL || strcmp (str, "disabled") == 0)
@@ -73,12 +76,13 @@ binding_from_string (const char *str,
return TRUE;
}
- egg_accelerator_parse_virtual (str, accelerator_key, keycode, accelerator_mods);
+ ret = egg_accelerator_parse_virtual (str, accelerator_key, &keycodes, accelerator_mods);
- if (*accelerator_key == 0)
- return FALSE;
- else
- return TRUE;
+ if (keycode != NULL)
+ *keycode = (keycodes ? keycodes[0] : 0);
+ g_free (keycodes);
+
+ return (ret == EGG_PARSE_ERROR_NONE);
}
static void