diff options
author | Bastien Nocera <hadess@hadess.net> | 2011-11-10 11:24:25 +0000 |
---|---|---|
committer | Bastien Nocera <hadess@hadess.net> | 2011-11-10 11:24:25 +0000 |
commit | c70b7c7a9ed6377c988e02cdcc6742672851b880 (patch) | |
tree | 933cfc890581339ace9adca83bbe3a4a2723ddeb | |
parent | e62b2b97cec5118b883ab0ea0751e2c7ef646d82 (diff) | |
download | gnome-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.c | 14 |
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 |