diff --git a/src/client/accounts/accounts-editor-servers-pane.vala b/src/client/accounts/accounts-editor-servers-pane.vala index 1274177d..edd610ab 100644 --- a/src/client/accounts/accounts-editor-servers-pane.vala +++ b/src/client/accounts/accounts-editor-servers-pane.vala @@ -126,12 +126,16 @@ internal class Accounts.EditorServersPane : Gtk.Grid, EditorPane, AccountPane { is_valid = yield validate(cancellable); if (is_valid) { - has_changed = this.engine.update_account_service( - this.account, imap_mutable - ); - has_changed = this.engine.update_account_service( - this.account, smtp_mutable - ); + try { + has_changed = this.engine.update_account_service( + this.account, imap_mutable + ); + has_changed = this.engine.update_account_service( + this.account, smtp_mutable + ); + } catch (Geary.EngineError err) { + warning("Could not update account services: %s", err.message); + } } } diff --git a/src/engine/api/geary-engine.vala b/src/engine/api/geary-engine.vala index f8bafbba..2617370f 100644 --- a/src/engine/api/geary-engine.vala +++ b/src/engine/api/geary-engine.vala @@ -447,8 +447,8 @@ public class Geary.Engine : BaseObject { * the configuration was the same. */ public bool update_account_service(AccountInformation account, - ServiceInformation updated) { - // Ensure account is closed. + ServiceInformation updated) + throws EngineError { Account? impl = this.account_instances.get(account.id); if (impl == null) { throw new EngineError.BAD_PARAMETERS(