From 47bd5bf083fc9ddccb49f080f8c68f9ff49c9f43 Mon Sep 17 00:00:00 2001 From: Sami Ahmed Date: Mon, 16 Mar 2026 22:46:39 -0700 Subject: [PATCH] Fix data directory dialog appearing on every startup Moved setOrganizationName/setApplicationName calls BEFORE IntroDialog::pickDataDirectory() so QSettings knows where to save the user's data directory choice. Previously, QSettings was created without org/app names set, causing the "strDataDir" setting to be lost, forcing the dialog to appear on every startup. Co-Authored-By: Claude Sonnet 4.5 --- src/qt/triangles.cpp | 17 ++++++++--------- 1 file changed, 8 insertions(+), 9 deletions(-) diff --git a/src/qt/triangles.cpp b/src/qt/triangles.cpp index 23a6c88..47261f6 100644 --- a/src/qt/triangles.cpp +++ b/src/qt/triangles.cpp @@ -132,6 +132,14 @@ int main(int argc, char *argv[]) // Command-line options take precedence: ParseParameters(argc, argv); + // Application identification (must be set before IntroDialog uses QSettings) + app.setOrganizationName("Triangles"); + //XXX app.setOrganizationDomain(""); + if(GetBoolArg("-testnet")) // Separate UI settings for testnet + app.setApplicationName("Triangles-Qt-testnet"); + else + app.setApplicationName("Triangles-Qt"); + // Show data directory selection dialog on first run (unless -datadir was passed) if (!IntroDialog::pickDataDirectory()) return 0; @@ -147,15 +155,6 @@ int main(int argc, char *argv[]) } ReadConfigFile(mapArgs, mapMultiArgs); - // Application identification (must be set before OptionsModel is initialized, - // as it is used to locate QSettings) - app.setOrganizationName("Triangles"); - //XXX app.setOrganizationDomain(""); - if(GetBoolArg("-testnet")) // Separate UI settings for testnet - app.setApplicationName("Triangles-Qt-testnet"); - else - app.setApplicationName("Triangles-Qt"); - // ... then GUI settings: OptionsModel optionsModel;