ui: Fix GUI initialization order
Fixes at least #3478. Splits and documents the phases: 1. Parse command-line options. These take precedence over anything else. 2. Basic Qt initialization (not dependent on parameters or configuration) 3. Application identification 4. Initialization of translations 5. Now that settings and translations are available, ask user for data directory 6. Determine availability of data directory and parse bitcoin.conf 7. URI IPC sending 8. Main GUI initialization Splits command line parsing logic from ipcSendCommandLine into ipcParseCommandLine, as isTestNet() can only be overridden in the early stages before choosing a data directory. Sending however needs to happen after choosing a data directory.
This commit is contained in:
@@ -56,12 +56,16 @@ class PaymentServer : public QObject
|
||||
Q_OBJECT
|
||||
|
||||
public:
|
||||
// Parse URIs on command line
|
||||
// Returns false on error
|
||||
static bool ipcParseCommandLine(int argc, char *argv[]);
|
||||
|
||||
// Returns true if there were URIs on the command line
|
||||
// which were successfully sent to an already-running
|
||||
// process.
|
||||
// Note: if a payment request is given, SelectParams(MAIN/TESTNET)
|
||||
// will be called so we startup in the right mode.
|
||||
static bool ipcSendCommandLine(int argc, char *argv[]);
|
||||
static bool ipcSendCommandLine();
|
||||
|
||||
// parent should be QApplication object
|
||||
PaymentServer(QObject* parent, bool startLocalServer = true);
|
||||
|
||||
Reference in New Issue
Block a user