aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorsaturneric <[email protected]>2025-04-19 03:16:56 +0000
committersaturneric <[email protected]>2025-04-19 03:16:56 +0000
commit0cb62c8bc705561b25dff91ed588dad239ffca85 (patch)
treec2f9a8d785a4b22ecaba5a9627a809697b45276e
parentchore: upgrade modules to v2.1.8 (diff)
downloadGpgFrontend-0cb62c8bc705561b25dff91ed588dad239ffca85.tar.gz
GpgFrontend-0cb62c8bc705561b25dff91ed588dad239ffca85.zip
fix: specify search paths to avoid the pinentry notice on macOS
-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