ui: Fix GUI initialization order #3488

pull laanwj wants to merge 1 commits into bitcoin:master from laanwj:2014_01_fix_gui_init_order changing 4 files +64 −41
  1. laanwj commented at 11:55 AM on January 5, 2014: member

    I thought through the initialization order a bit. Fixes at least #3478. @diapolo can you please help testing?

    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.

    Tested:

    • URI handling to running testnet and mainnet instances
    • URI handling with custom data directories
    • URI handling for testnet URIs launches testnet GUI
    • -choosedatadir can be used to provide custom data directories
  2. 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.
    2102ab9f5c
  3. BitcoinPullTester commented at 12:20 PM on January 5, 2014: none

    Automatic sanity-testing: PASSED, see http://jenkins.bluematt.me/pull-tester/2102ab9f5cb542e6727e0f25e670d8549aa1bf1a for binaries and test log. This test script verifies pulls every time they are updated. It, however, dies sometimes and fails to test properly. If you are waiting on a test, please check timestamps to verify that the test.log is moving at http://jenkins.bluematt.me/pull-tester/current/ Contact BlueMatt on freenode if something looks broken.

  4. Diapolo commented at 7:19 AM on January 6, 2014: none

    I'll see if I can check this out today or tomorrow...

  5. Diapolo commented at 10:43 AM on January 6, 2014: none

    I can confirm this is working: -choosedatadir can be used to provide custom data directories

  6. laanwj commented at 11:09 AM on January 6, 2014: member

    Great!

    Agree with the code changes too? I didn't make any obvious logic errors?

  7. Diapolo commented at 1:14 PM on January 6, 2014: none

    I'd like to also take a look at URI handling before giving a final ACK. Currently I need to resync my mainnet testnode. Changed init orderd looks fine to me...

  8. Diapolo commented at 7:23 AM on January 9, 2014: none

    I can confirm URI and payment-request handling with a running instance is working. I can't test click-to-start-Bitcoin, as I depend on command-line switches ;).

    ACK

  9. laanwj referenced this in commit 5b45bf400e on Jan 10, 2014
  10. laanwj merged this on Jan 10, 2014
  11. laanwj closed this on Jan 10, 2014

  12. laanwj deleted the branch on Apr 9, 2014
  13. DrahtBot locked this on Sep 8, 2021

github-metadata-mirror

This is a metadata mirror of the GitHub repository bitcoin/bitcoin. This site is not affiliated with GitHub. Content is generated from a GitHub metadata backup.
generated: 2026-04-13 15:16 UTC

This site is hosted by @0xB10C
More mirrored repositories can be found on mirror.b10c.me