diff options
Diffstat (limited to 'src/core')
-rw-r--r-- | src/core/GpgCoreInit.cpp | 5 | ||||
-rw-r--r-- | src/core/utils/GpgUtils.cpp | 5 |
2 files changed, 8 insertions, 2 deletions
diff --git a/src/core/GpgCoreInit.cpp b/src/core/GpgCoreInit.cpp index b13a96a0..28635e52 100644 --- a/src/core/GpgCoreInit.cpp +++ b/src/core/GpgCoreInit.cpp @@ -497,9 +497,10 @@ auto InitGpgFrontendCore(CoreInitArgs args) -> int { auto auto_import_missing_key = settings.value("network/auto_import_missing_key", false).toBool(); + // force to use pinentry in flatpak container auto use_pinentry_as_password_input_dialog = - settings - .value("gnupg/use_pinentry_as_password_input_dialog", !IsFlatpakENV()) + IsFlatpakENV() || + settings.value("gnupg/use_pinentry_as_password_input_dialog", true) .toBool(); // unit test mode diff --git a/src/core/utils/GpgUtils.cpp b/src/core/utils/GpgUtils.cpp index c51b7e37..7098e47a 100644 --- a/src/core/utils/GpgUtils.cpp +++ b/src/core/utils/GpgUtils.cpp @@ -468,6 +468,11 @@ auto GPGFRONTEND_CORE_EXPORT DecidePinentry() -> QString { QStringList preferred_list = {"pinentry-qt"}; #endif + if (IsFlatpakENV()) { + LOG_D() << "set flatpak pinentry to /app/bin/pinentry-qt"; + return "/app/bin/pinentry-qt"; + } + for (const QString& name : preferred_list) { QString path = QStandardPaths::findExecutable(name); if (!path.isEmpty()) { |