aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/core/utils/GpgUtils.cpp12
1 files changed, 12 insertions, 0 deletions
diff --git a/src/core/utils/GpgUtils.cpp b/src/core/utils/GpgUtils.cpp
index 7098e47a..5ca10618 100644
--- a/src/core/utils/GpgUtils.cpp
+++ b/src/core/utils/GpgUtils.cpp
@@ -462,10 +462,13 @@ auto GPGFRONTEND_CORE_EXPORT DecidePinentry() -> QString {
QStringList preferred_list = {"pinentry-gnome3",
"pinentry-qt"
"pinentry-gtk2"};
+ QStringList search_paths = {"/bin", "/usr/bin", "/usr/local/bin"}
#elif defined(__APPLE__) && defined(__MACH__)
QStringList preferred_list = {"pinentry-mac", "pinentry-qt"};
+ QStringList search_paths = {"/opt/homebrew/bin", "/usr/local/bin"};
#else
QStringList preferred_list = {"pinentry-qt"};
+ QStringList search_paths = {};
#endif
if (IsFlatpakENV()) {
@@ -480,6 +483,15 @@ auto GPGFRONTEND_CORE_EXPORT DecidePinentry() -> QString {
}
}
+ if (search_paths.isEmpty()) return {};
+
+ for (const QString& name : preferred_list) {
+ QString path = QStandardPaths::findExecutable(name, search_paths);
+ if (!path.isEmpty()) {
+ return path;
+ }
+ }
+
return {};
}
} // namespace GpgFrontend