qt: Move AppInit2 and Shutdown to a thread #3493

pull laanwj wants to merge 4 commits into bitcoin:master from laanwj:2014_01_qt_threaded_init changing 6 files +409 −141
  1. laanwj commented at 3:08 PM on January 7, 2014: member

    Run initialization and shutdown in their own thread instead of the UI thread.

    • Allows a more responsive splash screen (goes away immediately when clicked!)
    • Prevents Process does not respond messages from the window system while initializing (common complaint)
    • Show a Bitcoin Core is shutting down... window while shutting down
    • Hopefully fixes Ubuntu issue #1242 preventing the menu and icon from appearing
    • Cleans up the initialization code by moving initialization phases into methods on the Application object
  2. laanwj commented at 10:02 PM on January 9, 2014: member

    Testing in #1242 confirms that the Ubuntu menu+icon issue is solved by these changes.

  3. qt: Move initialization/shutdown to a thread
    Move AppInit2 and Shutdown to a thread.
    
    This allows a more responsive splash screen, prevents 'process does not respond'
    messages from the window system and will allow for showing a user friendly
    window while shutting down.
    202d853bbe
  4. qt: Show window while shutting down
    Makes it clear to the user that the application is still wrapping up
    and the computer should not be turned off until it is finished.
    55fe4de960
  5. qt: Remove global references in bitcoin.cpp
    Remove the need for global references `guiref` and
    `splashref` by making the BitcoinGUI and SplashScreen
    classes register for the UI interface signals themselves.
    35ecf854c0
  6. qt: Stop shutdown detection timer during shutdown
    Stop the shutdown timer from exiting the main loop
    when shutdown is already in progress.
    
    Fixes seeming hanging window after typing 'stop' in debug console.
    
    Also hide the debug console during shutdown as it is useless without
    a core to connect to.
    9a2305a1b3
  7. BitcoinPullTester commented at 9:41 AM on January 11, 2014: none

    Automatic sanity-testing: PASSED, see http://jenkins.bluematt.me/pull-tester/9a2305a1b3075d110f4127a3d3c38b014237968a 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.

  8. laanwj referenced this in commit 054be736d4 on Jan 11, 2014
  9. laanwj merged this on Jan 11, 2014
  10. laanwj closed this on Jan 11, 2014

  11. laanwj deleted the branch on Apr 9, 2014
  12. 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