aboutsummaryrefslogtreecommitdiff
path: root/src/qt/bitcoin.cpp
Commit message (Collapse)AuthorAgeFilesLines
* qt: Revert "Force TLS1.0+ for SSL connections"Tim Ruffing2018-11-061-8/+0
| | | | | | | | | | | | | | | | | | | | | | | | This reverts commit 15e26a6a9afe299b9ca6fced73b876644365879b, whose purpose was to tweak the Qt configuration to force TLS, i.e., to disable SSLv3, in Qt versions >= 5.5. However, the default behavior of Qt >= 5.4 is to disable SSLv3 anyway [1], so the configuration tweak is redundant. With Qt 5.11.2, the configuration tweak is not only redundant but in fact provokes a deadlock (#14359) due to Qt 5.11.2 being incompatible with OpenSSL 1.1.1 [2]. Since the deadlock occurs at the early startup stage of bitcoin-qt, it renders bitcoin-qt entirely non-functional when compiled against OpenSSL 1.1.1 and Qt 5.11.2 (and possible future combinations of OpenSSL and Qt versions). This commit fixes #14359 by removing the redundant code. [1] https://code.qt.io/cgit/qt/qtbase.git/commit/?id=3fd2d9eff8c1f948306ee5fbfe364ccded1c4b84 [2] https://bugreports.qt.io/browse/QTBUG-70956 Github-Pull: #14403 Rebased-From: 7d173c4cd1885ff5bcf9e5f8f7f712138dd8a445 Tree-SHA512: 71a34b13202c834c5ca73bcb9b70efff26c34e1aac3b954f098620b62c2be53a8e319929c4764a5b5cc5d0dd163ff70f4eb3a4f1f608363b7d23d1b16b25ddc7
* Update copyright headers to 2018DrahtBot2018-07-271-1/+1
|
* gui: remove SubstituteFontsfanquake2018-07-251-1/+0
|
* Drop unused init.h includesBen Woosley2018-06-251-1/+0
| | | | | | These were entirely unused, as based on successful compilation and a grep for: \bStartShutdown\(\)|\bShutdownRequested\(\)|\bInterrupt\(\)|\bShutdown\(\)|\bInitLogging\(\)|\bInitParameterInteraction\(\)|\bAppInitBasicSetup\(\)|\bAppInitParameterInteraction\(\)|\bAppInitSanityChecks\(\)|\bAppInitLockDataDirectory\(\)|\bAppInitMain\(\)|\bSetupServerArgs\(\)|\bLicenseInfo\(\)|g_wallet_init_interface|init.h
* Merge #13458: gui: Drop qt4 supportWladimir J. van der Laan2018-06-241-35/+1
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | af6ac3b677454644364fd24d0df0c02ac9b8c8db doc: Remove mention of Qt4 from build docs (Wladimir J. van der Laan) 462c71f71b5d753bc8327ab833dea23679450ca3 test: Update travis to not test Qt4 anymore (Wladimir J. van der Laan) 907f73bbc5b6c98b01d7c6088a294dea66634a3f gui: Remove QT_VERSION fallbacks for Qt < 5 (Wladimir J. van der Laan) bad068ad9f4bc60bfc10e27d4ffaec92d7df8491 build: Build system changes to support only Qt5 (Wladimir J. van der Laan) Pull request description: Implements #8263. Qt4.x has been EOL since 2015, and at least Gentoo has, or is going to drop support for it. I wouldn't be surprised if other Linux distributions follow. This removes Qt4 detection from the build system, as well as removes all Qt4 fallbacks from the code. Turns out there's more than I expected: this is going to make maintenance of the GUI code, as well as adding new features significantly easier. (I know there's still some references left to qt4 in RPM and Debian build script, but I don't have the knowledge how to fix them) Tree-SHA512: d495924fd4dda6f6566ba44ee96be7cbe62e69ba1ca993b80a8449f78da852b7f1bd3e8200d57cfa1d72233c340eeff4596fb0032ecbddc715d99aea63817d3f
| * gui: Remove QT_VERSION fallbacks for Qt < 5Wladimir J. van der Laan2018-06-181-35/+1
| | | | | | | | | | | | | | There were surprisingly many `#ifdef` fallbacks for Qt 4. Remiving them simplifies maintenance, as well as adding new GUI functionality.
* | ui: Support wallets unloaded dynamicallyJoão Barbosa2018-06-181-2/+16
|/
* Give an error and exit if there are unknown parametersAndrew Chow2018-05-301-12/+25
| | | | | | | | | | | If an unknown option is given via either the command line args or the conf file, throw an error and exit Update tests for ArgsManager knowing args Ignore unknown options in the config file for bitcoin-cli Fix tests and bitcoin-cli to match actual options used
* Stop translating command line optionsWladimir J. van der Laan2018-05-301-6/+6
| | | | | | | | | | | | | | | | | | | Many options are extremely technical, and refer internals, making it difficult to translate usefully. This came up in discussion of e.g. #10949. If a message is not understood by translators (which are typically end-users, not developers) they'll either translate it literally, making it harder to understand instead of easier, with the added drawback of the user no longer being able to google it. Also the translation was only working for bitcoin-qt as with the console programs, there is no translation backend. So it was injecting never-used translation messages for bitcoin-cli, -tx. For these reasons, stop translating options help completely. This should not affect the output **in any way** except for bitcoin-qt when a non-English language is configured in the locale. This implements #10962.
* ui: Support wallets loaded dynamicallyJoão Barbosa2018-05-161-12/+27
|
* ui: Remove unnecessary variable fFirstWalletJoão Barbosa2018-05-161-3/+1
|
* Make gArgs aware of the argumentsAndrew Chow2018-05-091-0/+16
| | | | | gArgs knows what the available arguments are and their help. Getting the help message is moved to gArgs and HelpMessage() is removed
* -includeconf=<path> support in config handler, for including external ↵Karl-Johan Alm2018-04-261-1/+1
| | | | configuration files
* qt: Don't log to console by defaultWladimir J. van der Laan2018-04-231-0/+4
| | | | | | | | Default `-printtoconsole` to false for the GUI. GUI programs should not print to the console unnecessarily. For example, when launched by the window manager, the output might end up in the X session log file, resulting in duplicate logging. On Windows, it is pointless as well because bitcoin-qt isn't a console application.
* Merge #12878: [refactor] Config handling refactoring in preparation for ↵Jonas Schnelli2018-04-081-1/+1
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | network-specific sections 77a733a99 [tests] Add additional unit tests for -nofoo edge cases (Anthony Towns) af173c2be [tests] Check GetChainName works with config entries (Anthony Towns) fa27f1c23 [tests] Add unit tests for ReadConfigStream (Anthony Towns) 087c5d204 ReadConfigStream: assume the stream is good (Anthony Towns) 6d5815aad Separate out ReadConfigStream from ReadConfigFile (Anthony Towns) 834d30341 [tests] Add unit tests for GetChainName (Anthony Towns) 11b6b5b86 Move ChainNameFromCommandLine into ArgsManager and rename to GetChainName (Anthony Towns) Pull request description: This does a bit of refactoring of the configuration handling code in order to add additional tests to make adding support for [test]/[regtest] sections in the config file in #11862 easier. Should not cause any behaviour changes. Tree-SHA512: 8d2ce1449fc180de03414e7e569d1a21ba1e9f6564e13d3faf3961f710adc725fa0d4ab49b89ebd2baa11ea36ac5018377f693a84037d386a8b8697c9d6db3e9
| * Move ChainNameFromCommandLine into ArgsManager and rename to GetChainNameAnthony Towns2018-04-061-1/+1
| |
* | Merge #12906: Avoid `interface` keyword to fix windows gitian buildMarcoFalke2018-04-071-10/+10
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 17780d6f35 scripted-diff: Avoid `interface` keyword to fix windows gitian build (Russell Yanofsky) Pull request description: Rename `interface` to `interfaces` Build failure reported by ken2812221 in https://github.com/bitcoin/bitcoin/pull/10244#issuecomment-379434756 Tree-SHA512: e02c97c728540f344202c13b036f9f63af23bd25e25ed7a5cfe9e2c2f201a12ff232cc94a93fbe37ef6fb6bf9e036fe62210ba798ecd30de191d09338754a8d0
| * | scripted-diff: Avoid `interface` keyword to fix windows gitian buildRussell Yanofsky2018-04-071-10/+10
| |/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Rename `interface` to `interfaces` Build failure reported by Chun Kuan Lee <[email protected]> https://github.com/bitcoin/bitcoin/pull/10244#issuecomment-379434756 -BEGIN VERIFY SCRIPT- git mv src/interface src/interfaces ren() { git grep -l "$1" | xargs sed -i "s,$1,$2,g"; } ren interface/ interfaces/ ren interface:: interfaces:: ren BITCOIN_INTERFACE_ BITCOIN_INTERFACES_ ren "namespace interface" "namespace interfaces" -END VERIFY SCRIPT-
* / wallet: Make WalletInitInterface and DummyWalletInit privateJoão Barbosa2018-04-051-8/+0
|/
* Merge #10244: Refactor: separate gui from wallet and nodeWladimir J. van der Laan2018-04-051-59/+40
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 9960137 Add developer notes about blocking GUI code (Russell Yanofsky) 9a61eed Use WalletBalances struct in Qt (Russell Yanofsky) 56f33ca Remove direct bitcoin calls from qt/sendcoinsdialog.cpp (Russell Yanofsky) e872c93 Remove direct bitcoin access from qt/guiutil.cpp (Russell Yanofsky) 5884558 Remove direct bitcoin calls from qt transaction table files (Russell Yanofsky) 3cab2ce Remove direct bitcoin calls from qt/paymentserver.cpp (Russell Yanofsky) 3ec2ebc Remove direct bitcoin calls from qt/addresstablemodel.cpp (Russell Yanofsky) 827de03 Remove direct bitcoin calls from qt/coincontroldialog.cpp (Russell Yanofsky) a0704a8 Remove most direct bitcoin calls from qt/walletmodel.cpp (Russell Yanofsky) 90d4640 Remove direct bitcoin calls from qt/optionsdialog.cpp (Russell Yanofsky) 582daf6 Remove direct bitcoin calls from qt/rpcconsole.cpp (Russell Yanofsky) 3034a46 Remove direct bitcoin calls from qt/bantablemodel.cpp (Russell Yanofsky) e0b66a3 Remove direct bitcoin calls from qt/peertablemodel.cpp (Russell Yanofsky) d7c2c95 Remove direct bitcoin calls from qt/intro.cpp (Russell Yanofsky) fe6f27e Remove direct bitcoin calls from qt/clientmodel.cpp (Russell Yanofsky) 5fba3af Remove direct bitcoin calls from qt/splashscreen.cpp (Russell Yanofsky) c2f672f Remove direct bitcoin calls from qt/utilitydialog.cpp (Russell Yanofsky) 3d619e9 Remove direct bitcoin calls from qt/bitcoingui.cpp (Russell Yanofsky) c0f2756 Remove direct bitcoin calls from qt/optionsmodel.cpp (Russell Yanofsky) 71e0d90 Remove direct bitcoin calls from qt/bitcoin.cpp (Russell Yanofsky) ea73b84 Add src/interface/README.md (Russell Yanofsky) Pull request description: This is a refactoring PR that does not change behavior in any way. This change: 1. Creates abstract [`Node`](https://github.com/ryanofsky/bitcoin/blob/pr/ipc-local/src/interface/node.h) and [`Wallet`](https://github.com/ryanofsky/bitcoin/blob/pr/ipc-local/src/interface/wallet.h) interfaces in [`src/interface/`](https://github.com/ryanofsky/bitcoin/tree/pr/ipc-local/src/interface) 1. Updates Qt code to call the new interfaces. This largely consists of diffs of the form: ```diff - InitLogging(); - InitParameterInteraction(); + node.initLogging(); + node.initParameterInteraction(); ``` This change allows followup PR #10102 (makes `bitcoin-qt` control `bitcoind` over an IPC socket) to work without any significant updates to Qt code. Additionally: * It provides a single place to describe the interface between GUI and daemon code. * It can make better GUI testing possible, because Node and Wallet objects have virtual methods that can be overloaded for mocking. * It can be used to help make the GUI more responsive (see https://github.com/bitcoin/bitcoin/issues/10504) Other notes: * I used python scripts [hide-globals.py](https://github.com/ryanofsky/home/blob/master/src/2017/hide-globals/hide-globals.py) and [replace-syms.py](https://github.com/ryanofsky/home/blob/master/src/2017/hide-globals/replace-syms.py) to identify all the places where Qt code was accessing libbitcoin global variables and calling functions accessing those global variables. * These changes were originally part of #10102. Thanks to @JeremyRubin for the suggestion of splitting them out. Commits: - [`ea73b84d2d` Add src/interface/README.md](https://github.com/bitcoin/bitcoin/pull/10244/commits/ea73b84d2ddde22487dee0f71d7a619051e067f2) - [`71e0d90876` Remove direct bitcoin calls from qt/bitcoin.cpp](https://github.com/bitcoin/bitcoin/pull/10244/commits/71e0d90876efd11e2a4aeb8f3f806c5a1fd54b42) - [`c0f2756be5` Remove direct bitcoin calls from qt/optionsmodel.cpp](https://github.com/bitcoin/bitcoin/pull/10244/commits/c0f2756be517feddacd7c6b89b9faa888b3fef8e) - [`3d619e9d36` Remove direct bitcoin calls from qt/bitcoingui.cpp](https://github.com/bitcoin/bitcoin/pull/10244/commits/3d619e9d3658e36cba4a19a5bed33e5538317b27) - [`c2f672fb19` Remove direct bitcoin calls from qt/utilitydialog.cpp](https://github.com/bitcoin/bitcoin/pull/10244/commits/c2f672fb1960399389dea9cdd8f76d7156c2c88b) - [`5fba3af21e` Remove direct bitcoin calls from qt/splashscreen.cpp](https://github.com/bitcoin/bitcoin/pull/10244/commits/5fba3af21e44ab7552c57782de430c1f4cfd6697) - [`fe6f27e6ea` Remove direct bitcoin calls from qt/clientmodel.cpp](https://github.com/bitcoin/bitcoin/pull/10244/commits/fe6f27e6ea68a139d3a98b30a53706008ef8b132) - [`d7c2c95948` Remove direct bitcoin calls from qt/intro.cpp](https://github.com/bitcoin/bitcoin/pull/10244/commits/d7c2c9594897c39df6739b92610dfb5a7a1cb3ec) - [`e0b66a3b7c` Remove direct bitcoin calls from qt/peertablemodel.cpp](https://github.com/bitcoin/bitcoin/pull/10244/commits/e0b66a3b7c5d3a079636d61fcf611bb6b36c7bc1) - [`3034a462a5` Remove direct bitcoin calls from qt/bantablemodel.cpp](https://github.com/bitcoin/bitcoin/pull/10244/commits/3034a462a5d30144cf0ec801d07f0c8c36d560f3) - [`582daf6d22` Remove direct bitcoin calls from qt/rpcconsole.cpp](https://github.com/bitcoin/bitcoin/pull/10244/commits/582daf6d22da5394d02a12003b9542d9f5865ae2) - [`90d4640b7e` Remove direct bitcoin calls from qt/optionsdialog.cpp](https://github.com/bitcoin/bitcoin/pull/10244/commits/90d4640b7eff3154a0750c5acb52d39bd41e0bbb) - [`a0704a8996` Remove most direct bitcoin calls from qt/walletmodel.cpp](https://github.com/bitcoin/bitcoin/pull/10244/commits/a0704a8996bb950ae3c4d5b5a30e9dfe34cde1d3) - [`827de038ab` Remove direct bitcoin calls from qt/coincontroldialog.cpp](https://github.com/bitcoin/bitcoin/pull/10244/commits/827de038ab6fa58aa3d46151eb2f8dc6add7743e) - [`3ec2ebcd9b` Remove direct bitcoin calls from qt/addresstablemodel.cpp](https://github.com/bitcoin/bitcoin/pull/10244/commits/3ec2ebcd9b4beb4277f1f4791c6acbc538784f70) - [`3cab2ce5f9` Remove direct bitcoin calls from qt/paymentserver.cpp](https://github.com/bitcoin/bitcoin/pull/10244/commits/3cab2ce5f9e159ad5a2e9ed682f28121b5248580) - [`58845587e1` Remove direct bitcoin calls from qt transaction table files](https://github.com/bitcoin/bitcoin/pull/10244/commits/58845587e11140e81f087a74c3db76a4d1fc3a1a) - [`e872c93ee8` Remove direct bitcoin access from qt/guiutil.cpp](https://github.com/bitcoin/bitcoin/pull/10244/commits/e872c93ee87477130fb877da1a536b4c693bbab9) - [`56f33ca349` Remove direct bitcoin calls from qt/sendcoinsdialog.cpp](https://github.com/bitcoin/bitcoin/pull/10244/commits/56f33ca349b3721a15fce3bf0b6d4fd7fd788970) - [`9a61eed1fc` Use WalletBalances struct in Qt](https://github.com/bitcoin/bitcoin/pull/10244/commits/9a61eed1fcc16ddcedc315045f470e1958b0760b) - [`9960137697` Add developer notes about blocking GUI code](https://github.com/bitcoin/bitcoin/pull/10244/commits/996013769711bd507cdcd6dde88cbd59fcd4fbad) Tree-SHA512: 7b9eff2f37d4ea21972d7cc6a3dbe144248595d6c330524396d867f3cd2841d666cdc040fd3605af559dab51b075812402f61d628d16cf13719335c1d8bf8ed3
| * Remove direct bitcoin calls from qt transaction table filesRussell Yanofsky2018-04-041-3/+1
| |
| * Remove direct bitcoin calls from qt/paymentserver.cppRussell Yanofsky2018-04-041-3/+3
| |
| * Remove most direct bitcoin calls from qt/walletmodel.cppRussell Yanofsky2018-04-041-2/+4
| |
| * Remove direct bitcoin calls from qt/intro.cppRussell Yanofsky2018-04-041-1/+1
| |
| * Remove direct bitcoin calls from qt/clientmodel.cppRussell Yanofsky2018-04-041-1/+1
| |
| * Remove direct bitcoin calls from qt/splashscreen.cppRussell Yanofsky2018-04-041-1/+1
| |
| * Remove direct bitcoin calls from qt/utilitydialog.cppRussell Yanofsky2018-04-041-1/+1
| |
| * Remove direct bitcoin calls from qt/bitcoingui.cppRussell Yanofsky2018-04-041-1/+1
| |
| * Remove direct bitcoin calls from qt/optionsmodel.cppRussell Yanofsky2018-04-041-1/+1
| |
| * Remove direct bitcoin calls from qt/bitcoin.cppRussell Yanofsky2018-04-041-47/+28
| |
* | Merge #12859: Bugfix: Include <memory> for std::unique_ptrWladimir J. van der Laan2018-04-051-0/+1
|\ \ | |/ |/| | | | | | | | | | | | | | | | | | | | | | | a5bca13 Bugfix: Include <memory> for std::unique_ptr (Luke Dashjr) Pull request description: Not sure why all these includes were missing, but it's breaking builds for some users: https://bugs.gentoo.org/show_bug.cgi?id=652142 (Added to all files with a reference to `std::unique_ptr`) Tree-SHA512: 8a2c67513ca07b9bb52c34e8a20b15e56f8af2530310d9ee9b0a69694dd05e02e7a3683f14101a2685d457672b56addec591a0bb83900a0eb8e2a43d43200509
| * Bugfix: Include <memory> for std::unique_ptrLuke Dashjr2018-04-021-0/+1
| |
* | [moveonly] Extract HelpRequested to dry up the help options testingBen Woosley2018-04-021-2/+1
| | | | | | | | This ensures consistency across interfaces and makes the version handling more clear.
* | Merge #10762: [wallet] Remove Wallet dependencies from init.cppWladimir J. van der Laan2018-03-291-0/+7
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | c7ec524 [wallet] Add dummy wallet init class (John Newbery) 49baa4a [wallet] Use global g_wallet_init_interface to init/destroy the wallet. (John Newbery) caaf972 [wallet] Create wallet init interface. (John Newbery) 5fb5421 [wallet] Move wallet init functions into WalletInit class. (John Newbery) Pull request description: This continues the work of #7965. This PR, along with several others, would remove the remaining dependencies from libbitcoin_server.a on libbitcoin_wallet.a. To create the interface, I've just translated all the old init.cpp wallet function calls into an interface class. I've not done any thinking about whether it makes sense to change that interface by combining/splitting those calls. This is a purely internal interface, so there's no problem in changing it later. Tree-SHA512: 32ea57615229c33fd1a7f2f29ebc11bf30337685f7211baffa899823ef74b65dcbf068289c557a161c5afffb51fdc38a2ee8180720371f64d433b12b0615cf3f
| * | [wallet] Add dummy wallet init classJohn Newbery2018-03-271-1/+3
| | |
| * | [wallet] Use global g_wallet_init_interface to init/destroy the wallet.John Newbery2018-03-271-0/+5
| | | | | | | | | | | | | | | | | | | | | | | | This commit creates a global g_wallet_init_interface, which is created in bitcoind and bitcoin-qt. g_wallet_init_interface is used to init and destroy the wallet. This removes the dependency from init.cpp on the wallet library.
* | | Merge #12653: Allow to optional specify the directory for the blocks storageWladimir J. van der Laan2018-03-271-1/+1
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | a192636 -blocksdir: keep blockindex leveldb database in datadir (Jonas Schnelli) f38e4fd QA: Add -blocksdir test (Jonas Schnelli) 386a6b6 Allow to optional specify the directory for the blocks storage (Jonas Schnelli) Pull request description: Since the actual block files taking up more and more space, it may be desirable to have them stored in a different location then the data directory (use case: SSD for chainstate, etc., HD for blocks). This PR adds a `-blocksdir` option that allows one to keep the blockfiles and the blockindex external from the data directory (instead of creating symlinks). I fist had an option to keep the blockindex within the datadir, but seems to make no sense since accessing the index will (always) lead to access (r/w) the block files. Tree-SHA512: f8b9e1a681679eac25076dc30e45e6e12d4b2d9ac4be907cbea928a75af081dbcb0f1dd3e97169ab975f73d0bd15824c00c2a34638f3b284b39017171fce2409
| * | | Allow to optional specify the directory for the blocks storageJonas Schnelli2018-03-111-1/+1
| | | |
* | | | Merge #12793: qt: Avoid reseting on resetguisettigs=0Wladimir J. van der Laan2018-03-271-1/+1
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 342fb80 qt: Avoid resetting on resetguisettigs=0 (MarcoFalke) Pull request description: Shouldn't be affecting anyone, but might still be worth to fix at some point. Tree-SHA512: af7fe67f1e8b3a0ff041258e3056d2e3e518258b015ee765f291e91fca86a7f7cd43c83844fd83f00a52dac2cf382db5d568aab91db636a031040551bd34172d
| * | | | qt: Avoid resetting on resetguisettigs=0MarcoFalke2018-03-261-1/+1
| | | | |
* | | | | Qt: Get wallet name from WalletModel rather than passing it aroundLuke Dashjr2018-03-261-7/+2
| | | | |
* | | | | Qt: Load all wallets into WalletModelsLuke Dashjr2018-03-061-10/+21
| |/ / / |/| | |
* | | | [qt] navigate to transaction history page after sendSjors Provoost2018-03-011-0/+2
| |/ / |/| | | | | | | | | | | The transaction will be selected. When sending to multiple destinations, all will be selected (thanks @promag).
* | | Fix Windows build errors introduced in #10498practicalswift2018-02-121-1/+1
| | | | | | | | | | | | Fixes #12386
* | | Merge #12374: qt: Make sure splash screen is freed on AppInitMain failWladimir J. van der Laan2018-02-081-2/+3
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 1e5d14b qt: Clarify some comments (Wladimir J. van der Laan) f5a4c3d qt: Make sure splash screen is freed on AppInitMain fail (Wladimir J. van der Laan) Pull request description: The `splashFinished` event was never sent if AppInitMain fails, causing the splash screen to stick around, causing problems later. This bug has existed for a while but is now trigging potential crashed because the splash screen subscribes to wallet events. Meant to fix #12372. Tree-SHA512: 192a7e3a528015e771d7860dd95fd7b772292fd8064abf2a3cf3a8ea0d375cd43a6e8ed37ca1a38962fe1410c934599e557adf6a8ef9d87ec7f61b6e5fd8db7e
| * | | qt: Clarify some commentsWladimir J. van der Laan2018-02-071-3/+3
| | | | | | | | | | | | | | | | Signed-off-by: Wladimir J. van der Laan <[email protected]>
| * | | qt: Make sure splash screen is freed on AppInitMain failWladimir J. van der Laan2018-02-071-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The `splashFinished` event was never sent if AppInitMain fails, causing the splash screen to stick around, causing problems later. This bug has existed for a while but is now trigging potential crashed because the splash screen subscribes to wallet events. Meant to fix #12372. Signed-off-by: Wladimir J. van der Laan <[email protected]>
* | | | Merge #12377: qt: Poll ShutdownTimer after init is doneWladimir J. van der Laan2018-02-081-1/+1
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2222bf0 qt: Poll ShutdownTimer after init is done (MarcoFalke) Pull request description: The shutdown process has started in `requestShutdown`, but initialize will happily continue with `initializeResult` and start threads late in the shutdown progess. Deleting this running thread will crash the application according to the qt docs: https://github.com/qt/qtbase/blob/e5033a5c9b769815112e922d0b224af860afd219/src/corelib/thread/qthread.cpp#L412-L415 Potential fix for https://github.com/bitcoin/bitcoin/issues/12372#issuecomment-363642332 This reverts #11831 for now and hopefully restores the previous behaviour. Tree-SHA512: 8e1706afe90ddf2d972aca12c12d4cb2a9a4f38646c59c5466fe5a1a67361896b93c43917d5ac283841ee2bcc62e6bb8dc2bc81dea9129c899b354e9a4ef241b
| * | | | qt: Poll ShutdownTimer after init is doneMarcoFalke2018-02-071-1/+1
| |/ / /
* | | | Merge #10498: Use static_cast instead of C-style casts for non-fundamental typesMarcoFalke2018-02-071-1/+1
|\ \ \ \ | |/ / / |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 9ad6746ccd Use static_cast instead of C-style casts for non-fundamental types (practicalswift) Pull request description: A C-style cast is equivalent to try casting in the following order: 1. `const_cast(...)` 2. `static_cast(...)` 3. `const_cast(static_cast(...))` 4. `reinterpret_cast(...)` 5. `const_cast(reinterpret_cast(...))` By using `static_cast<T>(...)` explicitly we avoid the possibility of an unintentional and dangerous `reinterpret_cast`. Furthermore `static_cast<T>(...)` allows for easier grepping of casts. For a more thorough discussion, see ["ES.49: If you must use a cast, use a named cast"](https://isocpp.github.io/CppCoreGuidelines/CppCoreGuidelines#es49-if-you-must-use-a-cast-use-a-named-cast) in the C++ Core Guidelines (Stroustrup & Sutter). Tree-SHA512: bd6349b7ea157da93a47b8cf238932af5dff84731374ccfd69b9f732fabdad1f9b1cdfca67497040f14eaa85346391404f4c0495e22c467f26ca883cd2de4d3c