summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/core/prefs.c18
1 files changed, 15 insertions, 3 deletions
diff --git a/src/core/prefs.c b/src/core/prefs.c
index 74cf0ca7..81ce07b9 100644
--- a/src/core/prefs.c
+++ b/src/core/prefs.c
@@ -1683,10 +1683,14 @@ static MetaKeyPref key_bindings[] = {
static void
init_bindings (GSettings *settings)
{
+ GSettingsSchema *schema;
gchar **list = NULL;
gchar *str_val = NULL;
- list = g_settings_list_keys (settings);
+ g_object_get (settings, "settings-schema", &schema, NULL);
+ list = g_settings_schema_list_keys (schema);
+ g_settings_schema_unref (schema);
+
while (*list != NULL)
{
str_val = g_settings_get_string (settings, *list);
@@ -1712,10 +1716,14 @@ init_window_bindings (void)
static void
init_commands (void)
{
+ GSettingsSchema *schema;
gchar **list = NULL;
gchar *str_val = NULL;
- list = g_settings_list_keys (settings_command);
+ g_object_get (settings_command, "settings-schema", &schema, NULL);
+ list = g_settings_schema_list_keys (schema);
+ g_settings_schema_unref (schema);
+
while (*list != NULL)
{
str_val = g_settings_get_string (settings_command, *list);
@@ -1729,10 +1737,14 @@ init_commands (void)
static void
init_workspace_names (void)
{
+ GSettingsSchema *schema;
gchar **list = NULL;
gchar *str_val = NULL;
- list = g_settings_list_keys (settings_workspace_names);
+ g_object_get (settings_workspace_names, "settings-schema", &schema, NULL);
+ list = g_settings_schema_list_keys (schema);
+ g_settings_schema_unref (schema);
+
while (*list != NULL)
{
str_val = g_settings_get_string (settings_workspace_names, *list);