--- a/deja-dup/nautilus/NautilusExtension.c +++ b/deja-dup/nautilus/NautilusExtension.c @@ -24,6 +24,8 @@ #include GList *dirs = NULL; +GSettingsSchemaSource *schema_source = NULL; +GSettingsSchema *schema = NULL; GSettings *settings = NULL; // This will treat a < b iff a is 'lower' in the file tree than b @@ -313,7 +315,13 @@ bindtextdomain(GETTEXT_PACKAGE, LOCALE_DIR); bind_textdomain_codeset(GETTEXT_PACKAGE, "UTF-8"); - settings = g_settings_new("org.gnome.DejaDup"); + schema_source = g_settings_schema_source_new_from_directory ("@DEJA_DUP_GSETTINGS_PATH@", + g_settings_schema_source_get_default (), TRUE, NULL); + + schema = g_settings_schema_source_lookup (schema_source, + "org.gnome.DejaDup", FALSE); + + settings = g_settings_new_full (schema, NULL, NULL); g_signal_connect(settings, "changed::include-list", update_include_excludes, NULL); g_signal_connect(settings, "changed::exclude-list", @@ -329,7 +337,11 @@ void nautilus_module_shutdown(void) { + g_settings_schema_source_unref(schema_source); + g_settings_schema_unref(schema); g_object_unref(settings); + schema_source = NULL; + schema = NULL; settings = NULL; update_include_excludes(); /* will clear it now that settings is NULL */