summaryrefslogtreecommitdiff
path: root/common
diff options
context:
space:
mode:
authorMatthias Clasen <mclasen@redhat.com>2019-02-01 20:54:08 -0500
committerAtomic Bot <atomic-devel@projectatomic.io>2019-02-21 01:09:58 +0000
commit9e25dfabcd45dfd9d083887a52627c906bc81451 (patch)
treeb14409e5bef7d4628bfe11c5a155a1ebf3f17f17 /common
parent28e96288c487faa23845aa19c0b34dfce45dd6a7 (diff)
downloadflatpak-9e25dfabcd45dfd9d083887a52627c906bc81451.tar.gz
dconf: Prepare for reading user values
Pass the DCONF_READ flags down, so we can use a different one. Closes: #2678 Approved by: alexlarsson
Diffstat (limited to 'common')
-rw-r--r--common/flatpak-run.c26
1 files changed, 14 insertions, 12 deletions
diff --git a/common/flatpak-run.c b/common/flatpak-run.c
index 0a9efbdd..17f0b672 100644
--- a/common/flatpak-run.c
+++ b/common/flatpak-run.c
@@ -1749,13 +1749,14 @@ flatpak_run_allocate_id (int *lock_fd_out)
#ifdef HAVE_DCONF
static void
-add_dconf_key_to_keyfile (GKeyFile *keyfile,
- DConfClient *client,
- const char *key)
+add_dconf_key_to_keyfile (GKeyFile *keyfile,
+ DConfClient *client,
+ const char *key,
+ DConfReadFlags flags)
{
g_autofree char *group = g_path_get_dirname (key);
g_autofree char *k = g_path_get_basename (key);
- GVariant *value = dconf_client_read_full (client, key, DCONF_READ_DEFAULT_VALUE, NULL);
+ GVariant *value = dconf_client_read_full (client, key, flags, NULL);
if (value)
{
@@ -1765,9 +1766,10 @@ add_dconf_key_to_keyfile (GKeyFile *keyfile,
}
static void
-add_dconf_dir_to_keyfile (GKeyFile *keyfile,
- DConfClient *client,
- const char *dir)
+add_dconf_dir_to_keyfile (GKeyFile *keyfile,
+ DConfClient *client,
+ const char *dir,
+ DConfReadFlags flags)
{
g_auto(GStrv) keys = NULL;
int i;
@@ -1777,9 +1779,9 @@ add_dconf_dir_to_keyfile (GKeyFile *keyfile,
{
g_autofree char *k = g_strconcat (dir, keys[i], NULL);
if (dconf_is_dir (k, NULL))
- add_dconf_dir_to_keyfile (keyfile, client, k);
+ add_dconf_dir_to_keyfile (keyfile, client, k, flags);
else if (dconf_is_key (k, NULL))
- add_dconf_key_to_keyfile (keyfile, client, k);
+ add_dconf_key_to_keyfile (keyfile, client, k, flags);
}
}
@@ -1847,7 +1849,7 @@ get_dconf_data (const char *app_id,
client = dconf_client_new ();
g_debug ("Add defaults in dir %s", prefix);
- add_dconf_dir_to_keyfile (defaults_data, client, prefix);
+ add_dconf_dir_to_keyfile (defaults_data, client, prefix, DCONF_READ_DEFAULT_VALUE);
g_debug ("Add locks in dir %s", prefix);
add_dconf_locks_to_list (locks_data, client, prefix);
@@ -1860,7 +1862,7 @@ get_dconf_data (const char *app_id,
if (dconf_is_dir (settings[i], NULL))
{
g_debug ("Add defaults in dir %s", settings[i]);
- add_dconf_dir_to_keyfile (defaults_data, client, settings[i]);
+ add_dconf_dir_to_keyfile (defaults_data, client, settings[i], DCONF_READ_DEFAULT_VALUE);
g_debug ("Add locks in dir %s", settings[i]);
add_dconf_locks_to_list (locks_data, client, settings[i]);
@@ -1868,7 +1870,7 @@ get_dconf_data (const char *app_id,
else if (dconf_is_key (settings[i], NULL))
{
g_debug ("Add individual key %s", settings[i]);
- add_dconf_key_to_keyfile (defaults_data, client, settings[i]);
+ add_dconf_key_to_keyfile (defaults_data, client, settings[i], DCONF_READ_DEFAULT_VALUE);
}
else
{