qml: fix setting empty password when switching to already open wallet with password
This commit is contained in:
@@ -196,16 +196,22 @@ class QEDaemon(AuthMixin, QObject):
|
|||||||
self.loadingChanged.emit()
|
self.loadingChanged.emit()
|
||||||
|
|
||||||
try:
|
try:
|
||||||
wallet = self.daemon.load_wallet(self._path, password)
|
local_password = password # need this in local scope
|
||||||
|
wallet = self.daemon.load_wallet(self._path, local_password)
|
||||||
|
|
||||||
if wallet is None:
|
if wallet is None:
|
||||||
self._logger.info('could not open wallet')
|
self._logger.info('could not open wallet')
|
||||||
self.walletOpenError.emit('could not open wallet')
|
self.walletOpenError.emit('could not open wallet')
|
||||||
return
|
return
|
||||||
|
|
||||||
|
if wallet_already_open:
|
||||||
|
# wallet already open. daemon.load_wallet doesn't mind, but
|
||||||
|
# we need the correct current wallet password below
|
||||||
|
local_password = QEWallet.getInstanceFor(wallet).password
|
||||||
|
|
||||||
if self.daemon.config.get('single_password'):
|
if self.daemon.config.get('single_password'):
|
||||||
self._use_single_password = self.daemon.update_password_for_directory(old_password=password, new_password=password)
|
self._use_single_password = self.daemon.update_password_for_directory(old_password=local_password, new_password=local_password)
|
||||||
self._password = password
|
self._password = local_password
|
||||||
self.singlePasswordChanged.emit()
|
self.singlePasswordChanged.emit()
|
||||||
self._logger.info(f'use single password: {self._use_single_password}')
|
self._logger.info(f'use single password: {self._use_single_password}')
|
||||||
else:
|
else:
|
||||||
@@ -215,7 +221,7 @@ class QEDaemon(AuthMixin, QObject):
|
|||||||
|
|
||||||
run_hook('load_wallet', wallet)
|
run_hook('load_wallet', wallet)
|
||||||
|
|
||||||
self._backendWalletLoaded.emit(password)
|
self._backendWalletLoaded.emit(local_password)
|
||||||
except WalletFileException as e:
|
except WalletFileException as e:
|
||||||
self._logger.error(str(e))
|
self._logger.error(str(e))
|
||||||
self.walletOpenError.emit(str(e))
|
self.walletOpenError.emit(str(e))
|
||||||
|
|||||||
Reference in New Issue
Block a user