tfix issue #968 - electrum - Electrum Bitcoin wallet
HTML git clone https://git.parazyd.org/electrum
DIR Log
DIR Files
DIR Refs
DIR Submodules
---
DIR commit 9f9bab6cf03ec10a8fd99292cabe6f2328111809
DIR parent f57c581468edc3e7a169980e011d36616122b7ed
HTML Author: ThomasV <thomasv@gitorious>
Date: Wed, 31 Dec 2014 19:21:54 +0100
fix issue #968
Diffstat:
M gui/qt/__init__.py | 7 ++++++-
M gui/qt/installwizard.py | 8 +-------
M lib/wallet.py | 2 ++
3 files changed, 9 insertions(+), 8 deletions(-)
---
DIR diff --git a/gui/qt/__init__.py b/gui/qt/__init__.py
t@@ -163,7 +163,12 @@ class ElectrumGui:
if action is not None:
import installwizard
wizard = installwizard.InstallWizard(self.config, self.network, storage)
- wallet = wizard.run(action)
+ try:
+ wallet = wizard.run(action)
+ except BaseException as e:
+ traceback.print_exc(file=sys.stdout)
+ QMessageBox.information(None, _('Error'), str(e), _('OK'))
+ return
if not wallet:
return
else:
DIR diff --git a/gui/qt/installwizard.py b/gui/qt/installwizard.py
t@@ -389,13 +389,7 @@ class InstallWizard(QDialog):
wallet.add_master_public_key("x3/", xpub3)
elif action == 'create_accounts':
- try:
- wallet.create_main_account(password)
- except BaseException as e:
- import traceback
- traceback.print_exc(file=sys.stdout)
- QMessageBox.information(None, _('Error'), str(e), _('OK'))
- return
+ wallet.create_main_account(password)
self.waiting_dialog(wallet.synchronize)
else:
DIR diff --git a/lib/wallet.py b/lib/wallet.py
t@@ -1296,6 +1296,8 @@ class BIP32_Wallet(Deterministic_Wallet):
raise InvalidPassword()
def add_master_public_key(self, name, xpub):
+ if xpub in self.master_public_keys.values():
+ raise BaseException('Duplicate master public key')
self.master_public_keys[name] = xpub
self.storage.put('master_public_keys', self.master_public_keys, True)