diff options
author | saturneric <[email protected]> | 2025-04-19 03:16:56 +0000 |
---|---|---|
committer | saturneric <[email protected]> | 2025-04-19 03:16:56 +0000 |
commit | 0cb62c8bc705561b25dff91ed588dad239ffca85 (patch) | |
tree | c2f9a8d785a4b22ecaba5a9627a809697b45276e | |
parent | chore: upgrade modules to v2.1.8 (diff) | |
download | GpgFrontend-0cb62c8bc705561b25dff91ed588dad239ffca85.tar.gz GpgFrontend-0cb62c8bc705561b25dff91ed588dad239ffca85.zip |
fix: specify search paths to avoid the pinentry notice on macOS
-rw-r--r-- | src/core/utils/GpgUtils.cpp | 12 |
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 |