tadd a lock to wallet.synchronize() and fix #1049 - electrum - Electrum Bitcoin wallet HTML git clone https://git.parazyd.org/electrum DIR Log DIR Files DIR Refs DIR Submodules --- DIR commit 58f9ab3492dfb9f7401f92db6b75f97819e1e5d8 DIR parent 9e4eda24b5d2e25655a7be72e5ecb495c25c22c8 HTML Author: ThomasV <thomasv@gitorious> Date: Fri, 13 Mar 2015 16:51:31 +0100 add a lock to wallet.synchronize() and fix #1049 Diffstat: M gui/qt/main_window.py | 3 +++ M lib/wallet.py | 5 +++-- 2 files changed, 6 insertions(+), 2 deletions(-) --- DIR diff --git a/gui/qt/main_window.py b/gui/qt/main_window.py t@@ -251,6 +251,9 @@ class ElectrumWindow(QMainWindow): except Exception as e: traceback.print_exc(file=sys.stdout) self.show_message(str(e)) + # call synchronize to regenerate addresses in case we are offline + if self.wallet.get_master_public_keys() and self.wallet.addresses() == []: + self.wallet.synchronize() def open_wallet(self): DIR diff --git a/lib/wallet.py b/lib/wallet.py t@@ -1203,8 +1203,9 @@ class Deterministic_Wallet(Abstract_Wallet): self.save_accounts() def synchronize(self): - for account in self.accounts.values(): - account.synchronize(self) + with self.lock: + for account in self.accounts.values(): + account.synchronize(self) def restore(self, callback): from i18n import _