diff options
author | moneromooo-monero <moneromooo-monero@users.noreply.github.com> | 2019-03-11 16:11:48 +0000 |
---|---|---|
committer | moneromooo-monero <moneromooo-monero@users.noreply.github.com> | 2019-03-11 16:11:48 +0000 |
commit | 576116d415b7ea9b498168db6221ab5df6101c31 (patch) | |
tree | 58710875ba0ce2e92e3692d7a12e26e0d72e3f01 /src | |
parent | Merge pull request #5258 (diff) | |
download | monero-576116d415b7ea9b498168db6221ab5df6101c31.tar.xz |
wallet: fix load failure if the mms isn't usable
Diffstat (limited to '')
-rw-r--r-- | src/simplewallet/simplewallet.cpp | 10 | ||||
-rw-r--r-- | src/wallet/wallet2.cpp | 9 |
2 files changed, 18 insertions, 1 deletions
diff --git a/src/simplewallet/simplewallet.cpp b/src/simplewallet/simplewallet.cpp index 8c0b300ad..cf75d57eb 100644 --- a/src/simplewallet/simplewallet.cpp +++ b/src/simplewallet/simplewallet.cpp @@ -9954,6 +9954,16 @@ bool simple_wallet::mms(const std::vector<std::string> &args) { try { + m_wallet->get_multisig_wallet_state(); + } + catch(const std::exception &e) + { + fail_msg_writer() << tr("MMS not available in this wallet"); + return true; + } + + try + { mms::message_store& ms = m_wallet->get_message_store(); if (args.size() == 0) { diff --git a/src/wallet/wallet2.cpp b/src/wallet/wallet2.cpp index 085e6075f..3b9e2c469 100644 --- a/src/wallet/wallet2.cpp +++ b/src/wallet/wallet2.cpp @@ -5085,7 +5085,14 @@ void wallet2::load(const std::string& wallet_, const epee::wipeable_string& pass MERROR("Failed to save rings, will try again next time"); } - m_message_store.read_from_file(get_multisig_wallet_state(), m_mms_file); + try + { + m_message_store.read_from_file(get_multisig_wallet_state(), m_mms_file); + } + catch (const std::exception &e) + { + MERROR("Failed to initialize MMS, it will be unusable"); + } } //---------------------------------------------------------------------------------------------------- void wallet2::trim_hashchain() |