twallet: (fix) synchronizer would also resub closed wallets... - electrum - Electrum Bitcoin wallet
HTML git clone https://git.parazyd.org/electrum
DIR Log
DIR Files
DIR Refs
DIR Submodules
---
DIR commit e415c0d93036d351e406be4aaef5ef000703d969
DIR parent 6cc70bc7a216afd129d24992029dcbd8e9dc861b
HTML Author: SomberNight <somber.night@protonmail.com>
Date: Tue, 14 May 2019 17:04:03 +0200
wallet: (fix) synchronizer would also resub closed wallets...
network cb was not removed, so Synchronizer and the wallet itself was
kept in memory; and Synchronizer kept working
Diffstat:
M electrum/gui/qt/__init__.py | 2 +-
M electrum/util.py | 6 +++++-
2 files changed, 6 insertions(+), 2 deletions(-)
---
DIR diff --git a/electrum/gui/qt/__init__.py b/electrum/gui/qt/__init__.py
t@@ -296,7 +296,7 @@ class ElectrumGui(Logger):
self.daemon.add_wallet(wallet)
return wallet
- def close_window(self, window):
+ def close_window(self, window: ElectrumWindow):
if window in self.windows:
self.windows.remove(window)
self.build_tray_menu()
DIR diff --git a/electrum/util.py b/electrum/util.py
t@@ -1003,6 +1003,10 @@ class NetworkJobOnDefaultServer(Logger):
raise NotImplementedError() # implemented by subclasses
async def stop(self):
+ self.network.unregister_callback(self._restart)
+ await self._stop()
+
+ async def _stop(self):
await self.group.cancel_remaining()
@log_exceptions
t@@ -1012,7 +1016,7 @@ class NetworkJobOnDefaultServer(Logger):
return # we should get called again soon
async with self._restart_lock:
- await self.stop()
+ await self._stop()
self._reset()
await self._start(interface)