diff options
author | luigi1111 <luigi1111w@gmail.com> | 2021-08-02 18:42:32 -0400 |
---|---|---|
committer | luigi1111 <luigi1111w@gmail.com> | 2021-08-02 18:42:32 -0400 |
commit | 9aa2d4c16e40e73c6e0b1fe24cd80f28c54560da (patch) | |
tree | 8cdac31d77265c9e5192909b232e82acefbd53c4 | |
parent | Merge pull request #7824 (diff) | |
parent | wallet2: refresh: check error and throw before potentially breaking out of loop (diff) | |
download | monero-9aa2d4c16e40e73c6e0b1fe24cd80f28c54560da.tar.xz |
Merge pull request #7747
8cf95c8 wallet2: refresh: check error and throw before potentially breaking out of loop (tobtoht)
-rw-r--r-- | src/wallet/wallet2.cpp | 17 |
1 files changed, 9 insertions, 8 deletions
diff --git a/src/wallet/wallet2.cpp b/src/wallet/wallet2.cpp index 133db6c2a..33f482a12 100644 --- a/src/wallet/wallet2.cpp +++ b/src/wallet/wallet2.cpp @@ -3494,14 +3494,6 @@ void wallet2::refresh(bool trusted_daemon, uint64_t start_height, uint64_t & blo blocks_fetched += added_blocks; } THROW_WALLET_EXCEPTION_IF(!waiter.wait(), error::wallet_internal_error, "Exception in thread pool"); - if(!first && blocks_start_height == next_blocks_start_height) - { - m_node_rpc_proxy.set_height(m_blockchain.size()); - refreshed = true; - break; - } - - first = false; // handle error from async fetching thread if (error) @@ -3512,6 +3504,15 @@ void wallet2::refresh(bool trusted_daemon, uint64_t start_height, uint64_t & blo throw std::runtime_error("proxy exception in refresh thread"); } + if(!first && blocks_start_height == next_blocks_start_height) + { + m_node_rpc_proxy.set_height(m_blockchain.size()); + refreshed = true; + break; + } + + first = false; + if (!next_blocks.empty()) { const uint64_t expected_start_height = std::max(static_cast<uint64_t>(m_blockchain.size()), uint64_t(1)) - 1; |