aboutsummaryrefslogtreecommitdiff
path: root/src/qt/bitcoin.cpp
AgeCommit message (Collapse)Author
2016-11-23qt: Avoid shutdownwindow-related memory leakWladimir J. van der Laan
Store a reference to the shutdown window on BitcoinApplication, so that it will be deleted when exiting the main loop.
2016-11-23qt: Avoid splash-screen related memory leakWladimir J. van der Laan
Make splash screen queue its own deletion when it receives the finished command, instead of relying on WA_DeleteOnClose which doesn't work under these circumstances.
2016-11-23qt: Prevent thread/memory leak on exiting RPCConsoleWladimir J. van der Laan
Make ownership of the QThread object clear, so that the RPCConsole can wait for the executor thread to quit before shutdown is called. This increases overall thread safety, and prevents some objects from leaking on exit.
2016-11-07Every main()/exit() should return/use one of EXIT_ codes instead of magic ↵UdjinM6
numbers
2016-11-04Fix exit codes:UdjinM6
- `--help`, `--version` etc should exit with `0` i.e. no error ("not enough args" case should still trigger an error) - error reading config file should exit with `1` Slightly refactor AppInitRPC/AppInitRawTx to return standard exit codes (EXIT_FAILURE/EXIT_SUCCESS) or CONTINUE_EXECUTION (-1)
2016-10-01Globals: Decouple GetConfigFile and ReadConfigFile from global mapArgsJorge Timón
2016-08-18qt: Fix random segfault when closing "Choose data directory" dialogWladimir J. van der Laan
The `pickDataDirectory()` function was calling `exit(0)` to quit the application when the user closes the dialog without choosing a data directory. This is a bad idea because a background thread is created (to check free space on the drive of the currently selected datadir). The thread is not stopped and unwound properly, resulting in a potential race condition somewhere deep in Qt. So replace the `exit()` by a boolean return value, and let the stack unwind normally.
2016-06-20Only pass -lQt5PlatformSupport if >=Qt5.6Jonas Schnelli
2016-05-12[Qt][OSX] Fix Cmd-Q / Menu Quit shutdown on OSXJonas Schnelli
2016-02-03Merge branch 'master' into single_prodnameLuke Dashjr
2016-01-21move rpc* to rpc/Daniel Cousens
2015-12-14Unify package name to as few places as possible without major changesLuke Dashjr
2015-12-13Bump copyright headers to 2015MarcoFalke
2015-11-28Bugfix: Default -uiplatform is not actually the platform this build was ↵Luke Dashjr
compiled on
2015-11-28Constrain constant values to a single location in codeLuke Dashjr
2015-11-27Initialize logging before we do parameter interactionJonas Schnelli
2015-11-27[QT] Call inits parameter interaction before we create the options modelJonas Schnelli
2015-11-13[Qt] add startup option to reset Qt settingsJonas Schnelli
2015-10-22Merge pull request #6846Wladimir J. van der Laan
3cb56f3 *: alias -h for --help (Daniel Cousens)
2015-10-22*: alias -h for --helpDaniel Cousens
2015-10-20Merge pull request #6235Wladimir J. van der Laan
55a8975 Chainparams: Translations: DRY: options and error strings (Jorge Timón) f3525e2 Chainparams: Replace CBaseChainParams::Network enum with string constants (suggested by Wladimir) (Jorge Timón)
2015-10-20Chainparams: Translations: DRY: options and error stringsJorge Timón
Also remove SelectBaseParamsFromCommandLine and SelectParamsFromCommandLine
2015-09-03evhttpd implementationWladimir J. van der Laan
- *Replace usage of boost::asio with [libevent2](http://libevent.org/)*. boost::asio is not part of C++11, so unlike other boost there is no forwards-compatibility reason to stick with it. Together with #4738 (convert json_spirit to UniValue), this rids Bitcoin Core of the worst offenders with regard to compile-time slowness. - *Replace spit-and-duct-tape http server with evhttp*. Front-end http handling is handled by libevent, a work queue (with configurable depth and parallelism) is used to handle application requests. - *Wrap HTTP request in C++ class*; this makes the application code mostly HTTP-server-neutral - *Refactor RPC to move all http-specific code to a separate file*. Theoreticaly this can allow building without HTTP server but with another RPC backend, e.g. Qt's debug console (currently not implemented) or future RPC mechanisms people may want to use. - *HTTP dispatch mechanism*; services (e.g., RPC, REST) register which URL paths they want to handle. By using a proven, high-performance asynchronous networking library (also used by Tor) and HTTP server, problems such as #5674, #5655, #344 should be avoided. What works? bitcoind, bitcoin-cli, bitcoin-qt. Unit tests and RPC/REST tests pass. The aim for now is everything but SSL support. Configuration options: - `-rpcthreads`: repurposed as "number of work handler threads". Still defaults to 4. - `-rpcworkqueue`: maximum depth of work queue. When this is reached, new requests will return a 500 Internal Error. - `-rpctimeout`: inactivity time, in seconds, after which to disconnect a client. - `-debug=http`: low-level http activity logging
2015-07-31qt: Introduce PlatformStyleWladimir J. van der Laan
Introduce a PlatformStyle to handle platform-specific customization of the UI. This replaces 'scicon', as well as #ifdefs to determine whether to place icons on buttons. The selected PlatformStyle defaults to the platform that the application was compiled on, but can be overridden from the command line with `-uiplatform=<x>`. Also fixes the warning from #6328.
2015-07-27Merge pull request #5697Wladimir J. van der Laan
60c8bac Includes: Cleanup around net main and wallet (Jorge Timón) 9dd793f TRIVIAL: Missing includes (Jorge Timón)
2015-07-23build: fix building against qt5.4/5.5Cory Fields
2015-07-23Includes: Cleanup around net main and walletJorge Timón
-Move from .h to .cpp: in main, net and wallet -Remove unnecessary #include "main.h" -Cleanup some wallet files includes
2015-07-23TRIVIAL: Missing includesJorge Timón
2015-07-15qt: define QT_NO_KEYWORDSWladimir J. van der Laan
QT_NO_KEYWORDS prevents Qt from defining the `foreach`, `signals`, `slots` and `emit` macros. Avoid overlap between Qt macros and boost - for example #undef hackiness in #6421.
2015-07-06qt: Force TLS1.0+ for SSL connectionsWladimir J. van der Laan
2015-05-14Create a scheduler thread for lightweight tasksGavin Andresen
2015-04-30Merge pull request #6022Wladimir J. van der Laan
b74dcb3 Separate CTranslationInterface from CClientUIInterface (Jorge Timón)
2015-04-20[Qt] header group cleanupPhilip Kaufmann
- seperate core from GUI headers where this was missing - remove an unneeded new-line
2015-04-16Separate CTranslationInterface from CClientUIInterfaceJorge Timón
2015-03-12[Move Only] Move wallet related things to src/wallet/Jonas Schnelli
could once be renamed from /src/wallet to /src/legacywallet.
2015-01-16qt: fonts: allow SubstituteFonts to filter based on user's languageCory Fields
SubstituteFonts() has been moved to after app identification so that QSettings are accessible.
2014-12-19Added "Core" to copyright headerssandakersmann
Github-Pull: #5494 Rebased-From: 15de949bb9277e442302bdd8dee299a8d6deee60
2014-12-19Merge pull request #5470Wladimir J. van der Laan
78253fc Remove references to X11 licence (Michael Ford)
2014-12-17make all catch() arguments constPhilip Kaufmann
- I saw this on http://en.cppreference.com/w/cpp/language/try_catch and thought it would be a good idea - also unify used format to better be able to search for exception uses in our codebase
2014-12-16Remove references to X11 licenceMichael Ford
2014-12-08[Qt] make PaymentServer::ipcParseCommandLine voidPhilip Kaufmann
- the function only returned true, so make it void - add a comment about payment request network detection
2014-10-10qt: add network-specific style objectWladimir J. van der Laan
Mainly cleanups: Gets rid of isTestNet everywhere, by keeping track of network-specific theming in a central place. Also makes GUI no longer dependent on the network ID enumeration, which alleviates concerns about #4802.
2014-10-01qt: Register CAmount metatypeWladimir J. van der Laan
This allows sending the type over queued connections. Also normalize signal/slot names.
2014-09-22Merge pull request #4852Wladimir J. van der Laan
5e83bc4 [Qt] include and file header cleanup (Philip Kaufmann)
2014-09-22qt: Make splash and shutdown window ignore close eventsWladimir J. van der Laan
It's strange to be able to close these windows while there is work in progress. Also set Qt::WA_DeleteOnClose on both windows to make sure that they are deleted eventually, no matter what happens.
2014-09-18[Qt] include and file header cleanupPhilip Kaufmann
- alphabetical ordering - correct ordering own headers before normal headers etc.
2014-09-18qt: Change splash screen to normal windowWladimir J. van der Laan
Makes it possible to move, minimize, unminimize the window while Bitcoin Core is initializing.
2014-08-26Merge pull request #4649Wladimir J. van der Laan
b197bf3 [Qt] disable tray interactions when client model set to 0 (Philip Kaufmann) 314fbd9 [Qt] use BitcoinGUI::DEFAULT_WALLET constant in bitcoin.cpp (Philip Kaufmann) 8ca6a16 [Qt] ensure all class attributes are init to 0 (Philip Kaufmann)
2014-08-26Split up util.cpp/hWladimir J. van der Laan
Split up util.cpp/h into: - string utilities (hex, base32, base64): no internal dependencies, no dependency on boost (apart from foreach) - money utilities (parsesmoney, formatmoney) - time utilities (gettime*, sleep, format date): - and the rest (logging, argument parsing, config file parsing) The latter is basically the environment and OS handling, and is stripped of all utility functions, so we may want to rename it to something else than util.cpp/h for clarity (Matt suggested osinterface). Breaks dependency of sha256.cpp on all the things pulled in by util.
2014-08-08[Qt] use BitcoinGUI::DEFAULT_WALLET constant in bitcoin.cppPhilip Kaufmann