diff --git a/.travis.yml b/.travis.yml index 6cc24facfd14b..63004c4901298 100644 --- a/.travis.yml +++ b/.travis.yml @@ -6,6 +6,7 @@ os: linux language: cpp +compiler: gcc env: global: - MAKEJOBS=-j3 @@ -38,6 +39,8 @@ matrix: env: HOST=x86_64-w64-mingw32 PACKAGES="nsis gcc-mingw-w64-x86-64 g++-mingw-w64-x86-64 binutils-mingw-w64-x86-64 mingw-w64-dev wine bc" RUN_TESTS=true GOAL="deploy" BITCOIN_CONFIG="--enable-gui" MAKEJOBS="-j2" - compiler: ": Win32" env: HOST=i686-w64-mingw32 PACKAGES="nsis gcc-mingw-w64-i686 g++-mingw-w64-i686 binutils-mingw-w64-i686 mingw-w64-dev wine bc" RUN_TESTS=true GOAL="deploy" BITCOIN_CONFIG="--enable-gui" MAKEJOBS="-j2" + exclude: + - compiler: gcc install: - if [ -n "$PACKAGES" ]; then travis_retry sudo apt-get update; fi - if [ -n "$PACKAGES" ]; then travis_retry sudo apt-get install --no-install-recommends --no-upgrade -qq $PACKAGES; fi diff --git a/configure.ac b/configure.ac index b5893eedaa731..1a98aaf6d6af8 100644 --- a/configure.ac +++ b/configure.ac @@ -3,7 +3,7 @@ AC_PREREQ([2.60]) define(_CLIENT_VERSION_MAJOR, 0) define(_CLIENT_VERSION_MINOR, 12) define(_CLIENT_VERSION_REVISION, 0) -define(_CLIENT_VERSION_BUILD, 55) +define(_CLIENT_VERSION_BUILD, 56) define(_CLIENT_VERSION_IS_RELEASE, true) define(_COPYRIGHT_YEAR, 2015) AC_INIT([Dash Core],[_CLIENT_VERSION_MAJOR._CLIENT_VERSION_MINOR._CLIENT_VERSION_REVISION],[info@dashpay.io],[dash]) diff --git a/src/chainparams.cpp b/src/chainparams.cpp index f8fe2363c0ac8..c59e2ac012e47 100644 --- a/src/chainparams.cpp +++ b/src/chainparams.cpp @@ -73,6 +73,7 @@ static Checkpoints::MapCheckpoints mapCheckpoints = ( 167996, uint256("0x000000000009486020a80f7f2cc065342b0c2fb59af5e090cd813dba68ab0fed")) ( 207992, uint256("0x00000000000d85c22be098f74576ef00b7aa00c05777e966aff68a270f1e01a5")) ( 312645, uint256("0x0000000000059dcb71ad35a9e40526c44e7aae6c99169a9e7017b7d84b1c2daf")) + ( 407452, uint256("0x000000000003c6a87e73623b9d70af7cd908ae22fee466063e4ffc20be1d2dbc")) ; static const Checkpoints::CCheckpointData data = { &mapCheckpoints, diff --git a/src/clientversion.h b/src/clientversion.h index 9c51d8405cfe5..747f4afc3b1ad 100644 --- a/src/clientversion.h +++ b/src/clientversion.h @@ -17,7 +17,7 @@ #define CLIENT_VERSION_MAJOR 0 #define CLIENT_VERSION_MINOR 12 #define CLIENT_VERSION_REVISION 0 -#define CLIENT_VERSION_BUILD 55 +#define CLIENT_VERSION_BUILD 56 //! Set to true for release, false for prerelease or test build #define CLIENT_VERSION_IS_RELEASE true diff --git a/src/init.cpp b/src/init.cpp index db615b4088ef3..deac30e4f93f5 100644 --- a/src/init.cpp +++ b/src/init.cpp @@ -914,11 +914,13 @@ bool AppInit2(boost::thread_group& threadGroup) boost::filesystem::path backupFile = backupPathStr + dateTimeStr; sourceFile.make_preferred(); backupFile.make_preferred(); - try { - boost::filesystem::copy_file(sourceFile, backupFile); - LogPrintf("Creating backup of %s -> %s\n", sourceFile, backupFile); - } catch(boost::filesystem::filesystem_error &error) { - LogPrintf("Failed to create backup %s\n", error.what()); + if(boost::filesystem::exists(sourceFile)) { + try { + boost::filesystem::copy_file(sourceFile, backupFile); + LogPrintf("Creating backup of %s -> %s\n", sourceFile, backupFile); + } catch(boost::filesystem::filesystem_error &error) { + LogPrintf("Failed to create backup %s\n", error.what()); + } } // Keep only the last 10 backups, including the new one of course typedef std::multimap folder_set_t; diff --git a/src/masternode-budget.cpp b/src/masternode-budget.cpp index 303413cd982e8..4655e3e7cfb6e 100644 --- a/src/masternode-budget.cpp +++ b/src/masternode-budget.cpp @@ -956,7 +956,7 @@ void CBudgetManager::ProcessMessage(CNode* pfrom, std::string& strCommand, CData mapSeenMasternodeBudgetVotes.insert(make_pair(vote.GetHash(), vote)); if(!vote.SignatureValid(true)){ LogPrintf("mvote - signature invalid\n"); - Misbehaving(pfrom->GetId(), 20); + if(masternodeSync.IsSynced()) Misbehaving(pfrom->GetId(), 20); // it could just be a non-synced masternode mnodeman.AskForMN(pfrom, vote.vin); return; @@ -1026,7 +1026,7 @@ void CBudgetManager::ProcessMessage(CNode* pfrom, std::string& strCommand, CData mapSeenFinalizedBudgetVotes.insert(make_pair(vote.GetHash(), vote)); if(!vote.SignatureValid(true)){ LogPrintf("fbvote - signature invalid\n"); - Misbehaving(pfrom->GetId(), 20); + if(masternodeSync.IsSynced()) Misbehaving(pfrom->GetId(), 20); // it could just be a non-synced masternode mnodeman.AskForMN(pfrom, vote.vin); return; diff --git a/src/masternode-payments.cpp b/src/masternode-payments.cpp index 8608c0bc0efdc..5e756cf97ea22 100644 --- a/src/masternode-payments.cpp +++ b/src/masternode-payments.cpp @@ -394,7 +394,7 @@ void CMasternodePayments::ProcessMessageMasternodePayments(CNode* pfrom, std::st if(!winner.SignatureValid()){ LogPrintf("mnw - invalid signature\n"); - Misbehaving(pfrom->GetId(), 20); + if(masternodeSync.IsSynced()) Misbehaving(pfrom->GetId(), 20); // it could just be a non-synced masternode mnodeman.AskForMN(pfrom, winner.vinMasternode); return; @@ -656,7 +656,7 @@ bool CMasternodePaymentWinner::IsValid(CNode* pnode, std::string& strError) { strError = strprintf("Masternode not in the top %d (%d)", MNPAYMENTS_SIGNATURES_TOTAL, n); LogPrintf("CMasternodePaymentWinner::IsValid - %s\n", strError); - Misbehaving(pnode->GetId(), 20); + if(masternodeSync.IsSynced()) Misbehaving(pnode->GetId(), 20); } return false; } diff --git a/src/masternodeman.cpp b/src/masternodeman.cpp index 35eef991acff2..429df7d002b5b 100644 --- a/src/masternodeman.cpp +++ b/src/masternodeman.cpp @@ -354,6 +354,8 @@ void CMasternodeMan::Clear() mAskedUsForMasternodeList.clear(); mWeAskedForMasternodeList.clear(); mWeAskedForMasternodeListEntry.clear(); + mapSeenMasternodeBroadcast.clear(); + mapSeenMasternodePing.clear(); nDsqCount = 0; } diff --git a/src/qt/dash_locale.qrc b/src/qt/dash_locale.qrc index f986e4c449966..9468b1c676efc 100644 --- a/src/qt/dash_locale.qrc +++ b/src/qt/dash_locale.qrc @@ -7,7 +7,7 @@ locale/dash_fi.qm locale/dash_fr.qm locale/dash_it.qm - locale/dash_ja.qm + locale/dash_ja.qm locale/dash_pl.qm locale/dash_pt.qm locale/dash_ru.qm diff --git a/src/qt/transactionview.cpp b/src/qt/transactionview.cpp index 1fc99c81afe7b..2787453017acb 100644 --- a/src/qt/transactionview.cpp +++ b/src/qt/transactionview.cpp @@ -280,9 +280,16 @@ void TransactionView::chooseDate(int idx) TransactionFilterProxy::MAX_DATE); break; case LastMonth: - transactionProxyModel->setDateRange( + if (current.month() == 1){ + transactionProxyModel->setDateRange( + QDateTime(QDate(current.year()-1, 12, 1)), + QDateTime(QDate(current.year(), current.month(), 1))); + } + else { + transactionProxyModel->setDateRange( QDateTime(QDate(current.year(), current.month()-1, 1)), QDateTime(QDate(current.year(), current.month(), 1))); + } break; case ThisYear: transactionProxyModel->setDateRange(