[glib/settings-portal: 6/7] settings: Prefer the keyfile backend when sandboxed



commit 0429ef77e578d46306b24b82c50d0c35abd99432
Author: Matthias Clasen <mclasen redhat com>
Date:   Fri Nov 2 23:00:49 2018 -0400

    settings: Prefer the keyfile backend when sandboxed
    
    When we are in a sandboxed situation, bump the priority
    of the keyfile settings backend above the dconf one,
    so we use a keyfile inside the sandbox instead of requiring
    holes in the sandbox for dconf.

 gio/gkeyfilesettingsbackend.c | 9 ++++++++-
 1 file changed, 8 insertions(+), 1 deletion(-)
---
diff --git a/gio/gkeyfilesettingsbackend.c b/gio/gkeyfilesettingsbackend.c
index 25f509c32..c91d48492 100644
--- a/gio/gkeyfilesettingsbackend.c
+++ b/gio/gkeyfilesettingsbackend.c
@@ -34,6 +34,7 @@
 #include "gsimplepermission.h"
 #include "gsettingsbackendinternal.h"
 #include "giomodule-priv.h"
+#include "gportalsupport.h"
 
 
 #define G_TYPE_KEYFILE_SETTINGS_BACKEND      (g_keyfile_settings_backend_get_type ())
@@ -77,12 +78,18 @@ typedef struct
   GFileMonitor      *dir_monitor;
 } GKeyfileSettingsBackend;
 
+#ifdef G_OS_WIN32
+#define EXTENSION_PRIORITY 10
+#else
+#define EXTENSION_PRIORITY (glib_should_use_portal () ? 110 : 10)
+#endif
+
 G_DEFINE_TYPE_WITH_CODE (GKeyfileSettingsBackend,
                          g_keyfile_settings_backend,
                          G_TYPE_SETTINGS_BACKEND,
                          _g_io_modules_ensure_extension_points_registered ();
                          g_io_extension_point_implement (G_SETTINGS_BACKEND_EXTENSION_POINT_NAME,
-                                                         g_define_type_id, "keyfile", 10))
+                                                         g_define_type_id, "keyfile", EXTENSION_PRIORITY))
 
 static void
 compute_checksum (guint8        *digest,


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]