[geary/wip/714104-refine-account-dialog: 4/5] Fix some unhandled exception warnings



commit 140ecc8839df7c65aea9762b37ce0bbe7dc48b75
Author: Michael Gratton <mike vee net>
Date:   Sun Dec 2 12:49:33 2018 +1100

    Fix some unhandled exception warnings

 src/client/accounts/accounts-editor-servers-pane.vala | 16 ++++++++++------
 src/engine/api/geary-engine.vala                      |  4 ++--
 2 files changed, 12 insertions(+), 8 deletions(-)
---
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(


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]