24 lines
1.1 KiB
Diff
24 lines
1.1 KiB
Diff
diff --git a/gio/gkeyfilesettingsbackend.c b/gio/gkeyfilesettingsbackend.c
|
|
index a37978e..580a0b0 100644
|
|
--- a/gio/gkeyfilesettingsbackend.c
|
|
+++ b/gio/gkeyfilesettingsbackend.c
|
|
@@ -89,7 +89,8 @@ g_keyfile_settings_backend_keyfile_write (GKeyfileSettingsBackend *kfsb)
|
|
|
|
contents = g_key_file_to_data (kfsb->keyfile, &length, NULL);
|
|
g_file_replace_contents (kfsb->file, contents, length, NULL, FALSE,
|
|
- G_FILE_CREATE_REPLACE_DESTINATION,
|
|
+ G_FILE_CREATE_REPLACE_DESTINATION |
|
|
+ G_FILE_CREATE_PRIVATE,
|
|
NULL, NULL, NULL);
|
|
|
|
compute_checksum (kfsb->digest, contents, length);
|
|
@@ -640,7 +641,7 @@ g_keyfile_settings_backend_new (const gchar *filename,
|
|
|
|
kfsb->file = g_file_new_for_path (filename);
|
|
kfsb->dir = g_file_get_parent (kfsb->file);
|
|
- g_file_make_directory_with_parents (kfsb->dir, NULL, NULL);
|
|
+ g_mkdir_with_parents (g_file_peek_path (kfsb->dir), 0700);
|
|
|
|
kfsb->file_monitor = g_file_monitor (kfsb->file, 0, NULL, NULL);
|
|
kfsb->dir_monitor = g_file_monitor (kfsb->dir, 0, NULL, NULL);
|