handle the case when user press cancell at gnome keyring password dialog when saving a password. Fixes #7305

This commit is contained in:
Yann Leboulanger 2013-02-19 13:22:49 +01:00
parent 5add9ee985
commit 2c389640a7

View file

@ -126,14 +126,14 @@ class GnomePasswordStorage(PasswordStorage):
password = str() password = str()
try: try:
auth_token = gnomekeyring.item_create_sync( auth_token = gnomekeyring.item_create_sync(
self.keyring, gnomekeyring.ITEM_NETWORK_PASSWORD, self.keyring, gnomekeyring.ITEM_NETWORK_PASSWORD, display_name,
display_name, attributes1, password, update) attributes1, password, update)
except gnomekeyring.DeniedError: except (gnomekeyring.DeniedError, gnomekeyring.CancelledError):
set_storage(SimplePasswordStorage()) set_storage(SimplePasswordStorage())
storage.save_password(account_name, password) storage.save_password(account_name, password)
return return
gajim.config.set_per('accounts', account_name, 'password', gajim.config.set_per('accounts', account_name, 'password',
'gnomekeyring:') 'gnomekeyring:')
if account_name in gajim.connections: if account_name in gajim.connections:
gajim.connections[account_name].password = password gajim.connections[account_name].password = password