This commit is contained in:
ThomasV 2016-07-01 16:19:26 +02:00
parent 0328caa22a
commit c6a46df158
3 changed files with 6 additions and 9 deletions

View File

@ -1627,24 +1627,17 @@ class ElectrumWindow(QMainWindow, MessageBoxMixin, PrintError):
return return
try: try:
self.wallet.check_password(password) self.wallet.update_password(password, new_password)
except BaseException as e: except BaseException as e:
self.show_error(str(e)) self.show_error(str(e))
return return
try:
self.wallet.update_password(password, new_password)
except: except:
traceback.print_exc(file=sys.stdout) traceback.print_exc(file=sys.stdout)
self.show_error(_('Failed to update password')) self.show_error(_('Failed to update password'))
return return
if new_password: msg = _('Password was updated successfully') if new_password else _('This wallet is not encrypted')
msg = _('Password was updated successfully')
else:
msg = _('This wallet is not encrypted')
self.show_message(msg, title=_("Success")) self.show_message(msg, title=_("Success"))
self.update_lock_icon() self.update_lock_icon()
def toggle_search(self): def toggle_search(self):

View File

@ -94,6 +94,8 @@ class Commands:
cmd = known_commands[method] cmd = known_commands[method]
if cmd.requires_password and self.wallet.use_encryption: if cmd.requires_password and self.wallet.use_encryption:
self._password = apply(password_getter,()) self._password = apply(password_getter,())
if self._password is None:
return
f = getattr(self, method) f = getattr(self, method)
result = f(*args) result = f(*args)
self._password = None self._password = None

View File

@ -1107,6 +1107,8 @@ class Abstract_Wallet(PrintError):
tx.sign(keypairs) tx.sign(keypairs)
def update_password(self, old_password, new_password): def update_password(self, old_password, new_password):
self.check_password(old_password)
if new_password == '': if new_password == '':
new_password = None new_password = None