diff options
author | Bastien Nocera <hadess@hadess.net> | 2011-02-17 16:50:32 +0000 |
---|---|---|
committer | Bastien Nocera <hadess@hadess.net> | 2011-02-17 16:52:07 +0000 |
commit | 52f8687c37a7097c8f8f4fe170487bdd651b4c3a (patch) | |
tree | 96ffd858806ef1e031293f82033b7c52068516a8 /panels/keyboard/cc-keyboard-item.c | |
parent | 9d1869aaaefabcd6f33a104a485437323d6630a6 (diff) | |
download | gnome-control-center-52f8687c37a7097c8f8f4fe170487bdd651b4c3a.tar.gz |
keyboard: Only listen to our own key
Rather than all the possible changes that could have happened in
the schemas.
Diffstat (limited to 'panels/keyboard/cc-keyboard-item.c')
-rw-r--r-- | panels/keyboard/cc-keyboard-item.c | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/panels/keyboard/cc-keyboard-item.c b/panels/keyboard/cc-keyboard-item.c index 73c8b7008..0ba7138c0 100644 --- a/panels/keyboard/cc-keyboard-item.c +++ b/panels/keyboard/cc-keyboard-item.c @@ -535,6 +535,8 @@ cc_keyboard_item_load_from_gsettings (CcKeyboardItem *item, const char *schema, const char *key) { + char *signal_name; + item->schema = g_strdup (schema); item->key = g_strdup (key); item->description = g_strdup (description); @@ -544,8 +546,10 @@ cc_keyboard_item_load_from_gsettings (CcKeyboardItem *item, item->editable = g_settings_is_writable (item->settings, item->key); binding_from_string (item->binding, &item->keyval, &item->keycode, &item->mask); - g_signal_connect (G_OBJECT (item->settings), "changed", + signal_name = g_strdup_printf ("changed::%s", item->key); + g_signal_connect (G_OBJECT (item->settings), signal_name, G_CALLBACK (binding_changed), item); + g_free (signal_name); return TRUE; } |