diff -uNr a/bitcoin/src/bitcoinrpc.cpp b/bitcoin/src/bitcoinrpc.cpp --- a/bitcoin/src/bitcoinrpc.cpp ede2e19dd0ce3d03f54689cbeda30b4b36152f7e532b3d34f0f8c55bb292f7d25c149b88162d96a8208997237a32566d0e555aa7105bfed8175983d80ad892e6 +++ b/bitcoin/src/bitcoinrpc.cpp d2b03bdcbdc637ac115ecad72c27f9af9952a020dc041689db5210f931399a54f525bbe820b399f622664a621c36c0a7304cc633dafbf8ac7f47e64afd974956 @@ -45,24 +45,6 @@ } -void PrintConsole(const std::string &format, ...) -{ - char buffer[50000]; - int limit = sizeof(buffer); - va_list arg_ptr; - va_start(arg_ptr, format); - int ret = _vsnprintf(buffer, limit, format.c_str(), arg_ptr); - va_end(arg_ptr); - if (ret < 0 || ret >= limit) - { - ret = limit - 1; - buffer[limit-1] = 0; - } - printf("%s", buffer); - fprintf(stdout, "%s", buffer); -} - - int64 AmountFromValue(const Value& value) { double dAmount = value.get_real(); @@ -1783,7 +1765,7 @@ Value dumpblock(const Array& params, bool fHelp) { - if (fHelp || params.size() != 2) + if (fHelp || params.size() != 2) throw runtime_error( "dumpblock \n" "Emit the block at to ."); @@ -2147,25 +2129,10 @@ printf("ThreadRPCServer started\n"); strRPCUserColonPass = mapArgs["-rpcuser"] + ":" + mapArgs["-rpcpassword"]; - if (strRPCUserColonPass == ":") - { + if (strRPCUserColonPass == ":") { unsigned char rand_pwd[32]; RAND_bytes(rand_pwd, 32); - string strWhatAmI = "To use bitcoind"; - if (mapArgs.count("-server")) - strWhatAmI = strprintf(_("To use the %s option"), "\"-server\""); - else if (mapArgs.count("-daemon")) - strWhatAmI = strprintf(_("To use the %s option"), "\"-daemon\""); - PrintConsole( - _("Error: %s, you must set a rpcpassword in the configuration file:\n %s\n" - "It is recommended you use the following random password:\n" - "rpcuser=bitcoinrpc\n" - "rpcpassword=%s\n" - "(you do not need to remember this password)\n" - "If the file does not exist, create it with owner-readable-only file permissions.\n"), - strWhatAmI.c_str(), - GetConfigFile().c_str(), - EncodeBase58(&rand_pwd[0],&rand_pwd[0]+32).c_str()); + printf("Error: you must set a rpcpassword in the configuration. Here is a random one: %s\n", EncodeBase58(&rand_pwd[0],&rand_pwd[0]+32).c_str()); CreateThread(Shutdown, NULL); return; } diff -uNr a/bitcoin/src/db.cpp b/bitcoin/src/db.cpp --- a/bitcoin/src/db.cpp 565faf3ef371f5e2178ae30c45b08b93415eeb92263486e68f2ac2e8f4c7900056e628804bf5c0707a90be946e0aeaebfcd0a391aab40de2e5d56e6bcbdccb1e +++ b/bitcoin/src/db.cpp d82d7d2c3c9a88712937a75c9f43ebf760470f2f1c91d70af4787f100702003c0e5188f0eef0c5a42ce4fcd318fac55e56e479ad1bed7795b279e087bc0a05b3 @@ -770,10 +770,6 @@ vector vWalletUpgrade; bool fIsEncrypted = false; - // Modify defaults - // Tray icon sometimes disappears on 9.10 karmic koala 64-bit, leaving no way to access the program - fMinimizeToTray = false; - fMinimizeOnClose = false; //// todo: shouldn't we catch exceptions and try to recover and continue? CRITICAL_BLOCK(pwallet->cs_wallet) @@ -924,8 +920,6 @@ if (strKey == "nTransactionFee") ssValue >> nTransactionFee; if (strKey == "fLimitProcessors") ssValue >> fLimitProcessors; if (strKey == "nLimitProcessors") ssValue >> nLimitProcessors; - if (strKey == "fMinimizeToTray") ssValue >> fMinimizeToTray; - if (strKey == "fMinimizeOnClose") ssValue >> fMinimizeOnClose; if (strKey == "fUseProxy") ssValue >> fUseProxy; if (strKey == "addrProxy") ssValue >> addrProxy; } @@ -946,8 +940,6 @@ printf("nFileVersion = %d\n", nFileVersion); printf("fGenerateBitcoins = %d\n", fGenerateBitcoins); printf("nTransactionFee = %"PRI64d"\n", nTransactionFee); - printf("fMinimizeToTray = %d\n", fMinimizeToTray); - printf("fMinimizeOnClose = %d\n", fMinimizeOnClose); printf("fUseProxy = %d\n", fUseProxy); printf("addrProxy = %s\n", addrProxy.ToString().c_str()); diff -uNr a/bitcoin/src/headers.h b/bitcoin/src/headers.h --- a/bitcoin/src/headers.h b86114b5b74d2b9e737798f78804439c5cdd0ae42440615c57fc85cb0ac7d8b8a454d2ef44048db6af0ca00a938178173eece431b273462dbc299c1501b86600 +++ b/bitcoin/src/headers.h d522fee2f1c7f53d3fd1dc76bcd483d015cb7174f56ef999ef411fb6099673b0f01e3c12a8e1001c449020b359626516dff9965355e443694a15c9b6051f5b61 @@ -17,6 +17,7 @@ #define BSD 1 #endif #endif +#include #include #include #include @@ -63,4 +64,4 @@ #include "bignum.h" #include "base58.h" #include "main.h" -#include "noui.h" +#include "wallet.h" diff -uNr a/bitcoin/src/init.cpp b/bitcoin/src/init.cpp --- a/bitcoin/src/init.cpp ff7009f672bf400a42d1d7afb6e58aaf1c29d9c219fad51c5f17000243a485e92bbb250d3f4bbec3f0717d00fad620c294d537832671f20c0979fb3f1383779b +++ b/bitcoin/src/init.cpp 4a5d9b789529f8a01e85f05994ee7d4ffc2647fce839da6fb6c84719b529fea1053d68d4123e8054b294cab3c0683d9d7d27fc320a9de9ae84f93ed71e7ba9d4 @@ -156,7 +156,6 @@ " -pid= \t\t " + _("Specify pid file (default: bitcoind.pid)\n") + " -gen \t\t " + _("Generate coins\n") + " -gen=0 \t\t " + _("Don't generate coins\n") + - " -min \t\t " + _("Start minimized\n") + " -datadir= \t\t " + _("Specify data directory\n") + " -timeout= \t " + _("Specify connection timeout (in milliseconds)\n") + " -proxy= \t " + _("Connect through socks4 proxy\n") + @@ -173,6 +172,7 @@ " -paytxfee= \t " + _("Fee per kB to add to transactions you send\n") + " -daemon \t\t " + _("Run in the background as a daemon and accept commands\n") + " -debug \t\t " + _("Output extra debugging information\n") + + " -shrinkdebug \t\t " + _("Shrink debug file on startup\n") + " -caneat \t\t " + _("Permit the use of 'eatblock'\n") + " -verifyall \t\t " + _("Forbid the skipping of ECDSA signature verification between checkpoints.\n") + " -logtimestamps \t " + _("Prepend debug output with timestamp\n") + @@ -195,6 +195,7 @@ } fDebug = GetBoolArg("-debug"); + fShrinkDebug = GetBoolArg("-shrinkdebug"); fDaemon = GetBoolArg("-daemon"); fCanEat = GetBoolArg("-caneat"); fVerifyAll = GetBoolArg("-verifyall"); @@ -240,11 +241,10 @@ fprintf(stderr, "Error: setsid() returned %d errno %d\n", sid, errno); } - if (!fDebug && !pszSetDataDir[0]) + if (fShrinkDebug && !pszSetDataDir[0]) ShrinkDebugFile(); - printf("\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n"); - printf("Bitcoin version %s\n", FormatFullVersion().c_str()); - printf("Default data directory %s\n", GetDefaultDataDir().c_str()); + + printf("\n\n\nBitcoin version %s\nDefault data directory %s\n", FormatFullVersion().c_str(), GetDefaultDataDir().c_str()); if (GetBoolArg("-loadblockindextest")) { @@ -261,7 +261,7 @@ static boost::interprocess::file_lock lock(strLockFile.c_str()); if (!lock.try_lock()) { - wxMessageBox(strprintf(_("Cannot obtain a lock on data directory %s. Bitcoin is probably already running."), GetDataDir().c_str()), "Bitcoin"); + fprintf(stderr, "Cannot obtain a lock on data directory %s. Bitcoin is probably already running.\n", GetDataDir().c_str()); return false; } @@ -275,21 +275,18 @@ strErrors = ""; int64 nStart; - InitMessage(_("Loading addresses...")); printf("Loading addresses...\n"); nStart = GetTimeMillis(); if (!LoadAddresses()) strErrors += _("Error loading addr.dat \n"); printf(" addresses %15"PRI64d"ms\n", GetTimeMillis() - nStart); - InitMessage(_("Loading block index...")); printf("Loading block index...\n"); nStart = GetTimeMillis(); if (!LoadBlockIndex()) strErrors += _("Error loading blkindex.dat \n"); printf(" block index %15"PRI64d"ms\n", GetTimeMillis() - nStart); - InitMessage(_("Loading wallet...")); printf("Loading wallet...\n"); nStart = GetTimeMillis(); bool fFirstRun; @@ -304,7 +301,7 @@ else if (nLoadWalletRet == DB_NEED_REWRITE) { strErrors += _("Wallet needed to be rewritten: restart Bitcoin to complete \n"); - wxMessageBox(strErrors, "Bitcoin", wxOK | wxICON_ERROR); + fprintf(stderr, "%s", strErrors.c_str()); return false; } else @@ -326,14 +323,12 @@ } if (pindexBest != pindexRescan) { - InitMessage(_("Rescanning...")); printf("Rescanning last %i blocks (from block %i)...\n", pindexBest->nHeight - pindexRescan->nHeight, pindexRescan->nHeight); nStart = GetTimeMillis(); pwalletMain->ScanForWalletTransactions(pindexRescan, true); printf(" rescan %15"PRI64d"ms\n", GetTimeMillis() - nStart); } - InitMessage(_("Done loading")); printf("Done loading\n"); //// debug print @@ -345,7 +340,7 @@ if (!strErrors.empty()) { - wxMessageBox(strErrors, "Bitcoin", wxOK | wxICON_ERROR); + fprintf(stderr, "%s", strErrors.c_str()); return false; } @@ -403,7 +398,7 @@ addrProxy = CAddress(mapArgs["-proxy"]); if (!addrProxy.IsValid()) { - wxMessageBox(_("Invalid -proxy address"), "Bitcoin"); + fprintf(stderr, "Invalid -proxy address\n"); return false; } } @@ -424,7 +419,7 @@ { if (!BindListenPort(strErrors)) { - wxMessageBox(strErrors, "Bitcoin"); + fprintf(stderr, "%s", strErrors.c_str()); return false; } } @@ -444,11 +439,11 @@ { if (!ParseMoney(mapArgs["-paytxfee"], nTransactionFee)) { - wxMessageBox(_("Invalid amount for -paytxfee="), "Bitcoin"); + fprintf(stderr, "Invalid amount for -paytxfee=\n"); return false; } if (nTransactionFee > 0.25 * COIN) - wxMessageBox(_("Warning: -paytxfee is set very high. This is the transaction fee you will pay if you send a transaction."), "Bitcoin", wxOK | wxICON_EXCLAMATION); + printf("Warning: -paytxfee is set very high. This is the transaction fee you will pay if you send a transaction.\n"); } // @@ -460,7 +455,7 @@ RandAddSeedPerfmon(); if (!CreateThread(StartNode, NULL)) - wxMessageBox(_("Error: CreateThread(StartNode) failed"), "Bitcoin"); + fprintf(stderr, "Error: CreateThread(StartNode) failed\n"); if (fServer) CreateThread(ThreadRPCServer, NULL); diff -uNr a/bitcoin/src/main.cpp b/bitcoin/src/main.cpp --- a/bitcoin/src/main.cpp 92038390413f77b55e19439738e87c21bd5b2313dc6edad78bcc8bf722dde82623a31a56a87b0182e75e6824fc709dc216fb9cb159b49a16e212e3a5ded93f58 +++ b/bitcoin/src/main.cpp ec6bd02eef9920b90d1561bbfeba35633a43b4254727543a198aea2ff614a809dceb08c50951e1096c47c0e25f31a2f515aaece09ce9210a352ff124505043bc @@ -50,8 +50,6 @@ int64 nTransactionFee = 0; int fLimitProcessors = false; int nLimitProcessors = 1; -int fMinimizeToTray = true; -int fMinimizeOnClose = true; ////////////////////////////////////////////////////////////////////////////// @@ -703,7 +701,6 @@ { bnBestInvalidWork = pindexNew->bnChainWork; CTxDB().WriteBestInvalidWork(bnBestInvalidWork); - MainFrameRepaint(); } printf("InvalidChainFound: invalid block=%s height=%d work=%s\n", pindexNew->GetBlockHash().ToString().substr(0,20).c_str(), pindexNew->nHeight, pindexNew->bnChainWork.ToString().c_str()); printf("InvalidChainFound: current best=%s height=%d work=%s\n", hashBestChain.ToString().substr(0,20).c_str(), nBestHeight, bnBestChainWork.ToString().c_str()); @@ -1218,7 +1215,6 @@ hashPrevBestCoinBase = vtx[0].GetHash(); } - MainFrameRepaint(); return true; } @@ -1388,7 +1384,6 @@ string strMessage = _("Warning: Disk space is low "); strMiscWarning = strMessage; printf("*** %s\n", strMessage.c_str()); - ThreadSafeMessageBox(strMessage, "Bitcoin", wxOK | wxICON_EXCLAMATION); CreateThread(Shutdown, NULL); return false; } @@ -1641,8 +1636,7 @@ static map > mapReuseKey; RandAddSeedPerfmon(); if (fDebug) { - printf("%s ", DateTimeStrFormat("%x %H:%M:%S", GetTime()).c_str()); - printf("received: %s (%d bytes)\n", strCommand.c_str(), vRecv.size()); + printf("received: %s (%d bytes) from %s\n", strCommand.c_str(), vRecv.size(), pfrom->addr.ToString().c_str()); } if (mapArgs.count("-dropmessagestest") && GetRand(atoi(mapArgs["-dropmessagestest"])) == 0) { @@ -2879,7 +2873,6 @@ nHPSTimerStart = GetTimeMillis(); nHashCounter = 0; string strStatus = strprintf(" %.0f khash/s", dHashesPerSec/1000.0); - UIThreadCall(boost::bind(CalledSetStatusBar, strStatus, 0)); static int64 nLogTime; if (GetTime() - nLogTime > 30 * 60) { @@ -2930,7 +2923,6 @@ vnThreadsRunning[3]--; PrintException(NULL, "ThreadBitcoinMiner()"); } - UIThreadCall(boost::bind(CalledSetStatusBar, "", 0)); nHPSTimerStart = 0; if (vnThreadsRunning[3] == 0) dHashesPerSec = 0; @@ -2944,7 +2936,6 @@ { fGenerateBitcoins = fGenerate; WriteSetting("fGenerateBitcoins", fGenerateBitcoins); - MainFrameRepaint(); } if (fGenerateBitcoins) { diff -uNr a/bitcoin/src/main.h b/bitcoin/src/main.h --- a/bitcoin/src/main.h ff2bf8f8147dd8df5e1ef1bcea9b0159d3f83c1e30befef56415b99305aa99161ac1c05efb48be87a383ffb6d621fd3761bfb3e4952ca244a6e1398ca3c71dc6 +++ b/bitcoin/src/main.h 88c932591f4823766220bb91aef2de51ad6e38eeb219880e7202cf3326ccc3cfc0629761ff21d134f47c29b254c4122cb1a198b6126f4715f4ceb79dfd3fd99d @@ -66,10 +66,6 @@ extern int64 nTransactionFee; extern int fLimitProcessors; extern int nLimitProcessors; -extern int fMinimizeToTray; -extern int fMinimizeOnClose; - - diff -uNr a/bitcoin/src/makefile.unix b/bitcoin/src/makefile.unix --- a/bitcoin/src/makefile.unix 929157d5e139336f38e98555f14fc125c4217c23eba941086b648147e39fcec9ecab632567fc3295e58826fedf6239d5cc0cd028f4e78fd56ae868b795d2de02 +++ b/bitcoin/src/makefile.unix 6366555b5b0a27520d04934350cd96415eeab9ab7b704f2ec3a13cc21bf1e5dde935b5ca1efb76c370986b0cefad3895200533447fa5cef276efb39b0c7e688f @@ -83,7 +83,6 @@ keystore.h \ main.h \ net.h \ - noui.h \ protocol.h \ bitcoinrpc.h \ script.h \ diff -uNr a/bitcoin/src/net.cpp b/bitcoin/src/net.cpp --- a/bitcoin/src/net.cpp 31eb2cbdf4f83f10ae8a7cdd3a69312ba6eafbecfafbeddf7546ce99847bd4f2a674037e2b89a0a7b91c37127d9770501c265a7977edb0ae0b3a5964272692f9 +++ b/bitcoin/src/net.cpp 8ecf412767de57af449a41128e3c0ded46d0e6fde50c9c7c23e4ac71d9825146624b5825faf955610fe16dd24b868e3e269a2ce0e611f1200ab31ff69e1f9165 @@ -666,7 +666,6 @@ if (vNodes.size() != nPrevNodeCount) { nPrevNodeCount = vNodes.size(); - MainFrameRepaint(); } diff -uNr a/bitcoin/src/noui.h b/bitcoin/src/noui.h --- a/bitcoin/src/noui.h a83fd14f7d3fb94e67062c70e789ea554d8ddba74d397a794498fd1e89c18cc7ad37aa32ef4109e9fd0714bd5f418c83d6d0af799556735b8cb9c5d5c3163002 +++ b/bitcoin/src/noui.h false @@ -1,74 +0,0 @@ -// Copyright (c) 2010 Satoshi Nakamoto -// Copyright (c) 2011 The Bitcoin developers -// Distributed under the MIT/X11 software license, see the accompanying -// file license.txt or http://www.opensource.org/licenses/mit-license.php. -#ifndef BITCOIN_NOUI_H -#define BITCOIN_NOUI_H - -#include -#include -#include "wallet.h" - -typedef void wxWindow; -#define wxYES 0x00000002 -#define wxOK 0x00000004 -#define wxNO 0x00000008 -#define wxYES_NO (wxYES|wxNO) -#define wxCANCEL 0x00000010 -#define wxAPPLY 0x00000020 -#define wxCLOSE 0x00000040 -#define wxOK_DEFAULT 0x00000000 -#define wxYES_DEFAULT 0x00000000 -#define wxNO_DEFAULT 0x00000080 -#define wxCANCEL_DEFAULT 0x80000000 -#define wxICON_EXCLAMATION 0x00000100 -#define wxICON_HAND 0x00000200 -#define wxICON_WARNING wxICON_EXCLAMATION -#define wxICON_ERROR wxICON_HAND -#define wxICON_QUESTION 0x00000400 -#define wxICON_INFORMATION 0x00000800 -#define wxICON_STOP wxICON_HAND -#define wxICON_ASTERISK wxICON_INFORMATION -#define wxICON_MASK (0x00000100|0x00000200|0x00000400|0x00000800) -#define wxFORWARD 0x00001000 -#define wxBACKWARD 0x00002000 -#define wxRESET 0x00004000 -#define wxHELP 0x00008000 -#define wxMORE 0x00010000 -#define wxSETUP 0x00020000 - -inline int MyMessageBox(const std::string& message, const std::string& caption="Message", int style=wxOK, wxWindow* parent=NULL, int x=-1, int y=-1) -{ - printf("%s: %s\n", caption.c_str(), message.c_str()); - fprintf(stderr, "%s: %s\n", caption.c_str(), message.c_str()); - return 4; -} -#define wxMessageBox MyMessageBox - -inline int ThreadSafeMessageBox(const std::string& message, const std::string& caption, int style=wxOK, wxWindow* parent=NULL, int x=-1, int y=-1) -{ - return MyMessageBox(message, caption, style, parent, x, y); -} - -inline bool ThreadSafeAskFee(int64 nFeeRequired, const std::string& strCaption, wxWindow* parent) -{ - return true; -} - -inline void CalledSetStatusBar(const std::string& strText, int nField) -{ -} - -inline void UIThreadCall(boost::function0 fn) -{ -} - -inline void MainFrameRepaint() -{ -} - -inline void InitMessage(const std::string &message) -{ -} - -#endif diff -uNr a/bitcoin/src/util.cpp b/bitcoin/src/util.cpp --- a/bitcoin/src/util.cpp 3dcfe5f29728dcd34a6dfe23e9cd17e5f4a332a8d2e7444355106c8c63436cf54892424df2018756c2e109463fd87728fc668a5a03914a4aa3f30bb90403b433 +++ b/bitcoin/src/util.cpp 3baa3f6682414aa1f791763a67f68f7cd94bf7fef098f0ffb956e4119177ae6485b74b268ab79a373bedaa083c3dbcf86fb027155f59eabcb4c7b45b94e525eb @@ -18,6 +18,7 @@ map mapArgs; map > mapMultiArgs; bool fDebug = false; +bool fShrinkDebug = false; bool fPrintToConsole = false; bool fPrintToDebugger = false; bool fCanEat = false; @@ -30,7 +31,7 @@ bool fCommandLine = false; string strMiscWarning; bool fNoListen = false; -bool fLogTimestamps = false; +bool fLogTimestamps = true; @@ -193,7 +194,7 @@ return 0; va_list arg_ptr; va_start(arg_ptr, format); - int ret = _vsnprintf(buffer, limit, format, arg_ptr); + int ret = vsnprintf(buffer, limit, format, arg_ptr); va_end(arg_ptr); if (ret < 0 || ret >= limit) { @@ -213,7 +214,7 @@ { va_list arg_ptr; va_start(arg_ptr, format); - ret = _vsnprintf(p, limit, format.c_str(), arg_ptr); + ret = vsnprintf(p, limit, format.c_str(), arg_ptr); va_end(arg_ptr); if (ret >= 0 && ret < limit) break; @@ -236,7 +237,7 @@ int limit = sizeof(buffer); va_list arg_ptr; va_start(arg_ptr, format); - int ret = _vsnprintf(buffer, limit, format.c_str(), arg_ptr); + int ret = vsnprintf(buffer, limit, format.c_str(), arg_ptr); va_end(arg_ptr); if (ret < 0 || ret >= limit) { @@ -601,19 +602,13 @@ { const char* pszModule = "bitcoin"; if (pex) - snprintf(pszMessage, 1000, + my_snprintf(pszMessage, 1000, "EXCEPTION: %s \n%s \n%s in %s \n", typeid(*pex).name(), pex->what(), pszModule, pszThread); else - snprintf(pszMessage, 1000, + my_snprintf(pszMessage, 1000, "UNKNOWN EXCEPTION \n%s in %s \n", pszModule, pszThread); } -void LogException(std::exception* pex, const char* pszThread) -{ - char pszMessage[10000]; - FormatException(pszMessage, pex, pszThread); - printf("\n%s", pszMessage); -} void PrintException(std::exception* pex, const char* pszThread) { @@ -625,16 +620,6 @@ throw; } -void ThreadOneMessageBox(string strMessage) -{ - // Skip message boxes if one is already open - static bool fMessageBoxOpen; - if (fMessageBoxOpen) - return; - fMessageBoxOpen = true; - ThreadSafeMessageBox(strMessage, "Bitcoin", wxOK | wxICON_EXCLAMATION); - fMessageBoxOpen = false; -} void PrintExceptionContinue(std::exception* pex, const char* pszThread) { @@ -785,11 +770,6 @@ - - - - - // // "Never go to sea with two chronometers; take one or three." // Our three time sources are: @@ -861,7 +841,6 @@ string strMessage = _("Warning: Please check that your computer's date and time are correct. If your clock is wrong Bitcoin will not work properly."); strMiscWarning = strMessage; printf("*** %s\n", strMessage.c_str()); - boost::thread(boost::bind(ThreadSafeMessageBox, strMessage+" ", string("Bitcoin"), wxOK | wxICON_EXCLAMATION, (wxWindow*)NULL, -1, -1)); } } } diff -uNr a/bitcoin/src/util.h b/bitcoin/src/util.h --- a/bitcoin/src/util.h 44bd62e864ed9400105aeea2e2ef6499f971577fd28b9c8dc52ef72dcdb4d4928168037cd7d7fca718e5d5a2d4d7c19c65f5b45c87d814d6e24c0d014b307477 +++ b/bitcoin/src/util.h 3605aa81e94ab971024003f597b892deb3c001a35fc7128f2942c73c6e6a7115c5664fe52b527fd2ad27c7128352b4a81611e0e9b0a18d397a8c835f99f08df6 @@ -37,11 +37,6 @@ #define ARRAYLEN(array) (sizeof(array)/sizeof((array)[0])) #define printf OutputDebugStringF -#ifdef snprintf -#undef snprintf -#endif -#define snprintf my_snprintf - #ifndef PRI64d #define PRI64d "lld" #define PRI64u "llu" @@ -77,7 +72,6 @@ #define INVALID_SOCKET (SOCKET)(~0) #define SOCKET_ERROR -1 typedef u_int SOCKET; -#define _vsnprintf(a,b,c,d) vsnprintf(a,b,c,d) #define strlwr(psz) to_lower(psz) #define _strlwr(psz) to_lower(psz) #define MAX_PATH 1024 @@ -108,6 +102,7 @@ extern std::map mapArgs; extern std::map > mapMultiArgs; extern bool fDebug; +extern bool fShrinkDebug; extern bool fPrintToConsole; extern bool fPrintToDebugger; extern bool fCanEat; @@ -128,7 +123,6 @@ int my_snprintf(char* buffer, size_t limit, const char* format, ...); std::string strprintf(const std::string &format, ...); bool error(const std::string &format, ...); -void LogException(std::exception* pex, const char* pszThread); void PrintException(std::exception* pex, const char* pszThread); void PrintExceptionContinue(std::exception* pex, const char* pszThread); void ParseString(const std::string& str, char c, std::vector& v); @@ -142,7 +136,6 @@ std::string EncodeBase64(const unsigned char* pch, size_t len); std::string EncodeBase64(const std::string& str); void ParseParameters(int argc, char* argv[]); -const char* wxGetTranslation(const char* psz); bool WildcardMatch(const char* psz, const char* mask); bool WildcardMatch(const std::string& str, const std::string& mask); int GetFilesize(FILE* file); diff -uNr a/bitcoin/src/wallet.cpp b/bitcoin/src/wallet.cpp --- a/bitcoin/src/wallet.cpp bdc4fc472be4a86fb91fa69368faace04414fdeee5b8c82795e31d37e21581b973caf7f3e9ccc27d487944a5782e3b59615180eab87c8b3e81242901f3039e4d +++ b/bitcoin/src/wallet.cpp 21f09d96af938bb43d744b2c4a21d082aeb0cb6acd67a2e03deee2ea10e2cfe42c944cc8c3fc31e4f90ca3eb7b12818bbabdfe6a324ad2ca2f0f0a9b57f16523 @@ -289,8 +289,6 @@ WalletUpdateSpent(wtx); } - // Refresh UI - MainFrameRepaint(); return true; } @@ -1082,7 +1080,7 @@ } wtxNew.RelayWalletTransaction(); } - MainFrameRepaint(); + return true; } @@ -1111,13 +1109,12 @@ return strError; } - if (fAskFee && !ThreadSafeAskFee(nFeeRequired, _("Sending..."), NULL)) - return "ABORTED"; + if (fAskFee) + return "ABORTED askfee"; if (!CommitTransaction(wtxNew, reservekey)) return _("Error: The transaction was rejected. This might happen if some of the coins in your wallet were already spent, such as if you used a copy of wallet.dat and coins were spent in the copy but not marked as spent here."); - MainFrameRepaint(); return ""; }