summaryrefslogtreecommitdiff
path: root/libsecret/secret-backend.c
diff options
context:
space:
mode:
Diffstat (limited to 'libsecret/secret-backend.c')
-rw-r--r--libsecret/secret-backend.c19
1 files changed, 13 insertions, 6 deletions
diff --git a/libsecret/secret-backend.c b/libsecret/secret-backend.c
index baa2e9a..30e3abb 100644
--- a/libsecret/secret-backend.c
+++ b/libsecret/secret-backend.c
@@ -149,17 +149,24 @@ backend_get_impl_type (void)
GIOExtension *e;
GIOExtensionPoint *ep;
- envvar = g_getenv ("SECRET_BACKEND");
- if (envvar == NULL || *envvar == '\0')
- extension_name = "service";
- else
- extension_name = envvar;
-
g_type_ensure (secret_service_get_type ());
#ifdef WITH_GCRYPT
g_type_ensure (secret_file_backend_get_type ());
#endif
+#ifdef WITH_GCRYPT
+ if (g_file_test ("/.flatpak-info", G_FILE_TEST_EXISTS))
+ extension_name = "file";
+ else
+#endif
+ {
+ envvar = g_getenv ("SECRET_BACKEND");
+ if (envvar == NULL || *envvar == '\0')
+ extension_name = "service";
+ else
+ extension_name = envvar;
+ }
+
ep = g_io_extension_point_lookup (SECRET_BACKEND_EXTENSION_POINT_NAME);
e = g_io_extension_point_get_extension_by_name (ep, extension_name);
if (e == NULL) {