[gnome-boxes/shut-build-warnings: 7/8] Handle thrown exceptions in various places



commit 40257b091b1b2fb83a0a9ab1af0b436adc68702b
Author: Felipe Borges <felipeborges gnome org>
Date:   Wed May 6 13:43:16 2020 +0200

    Handle thrown exceptions in various places

 src/assistant/index-page.vala       | 20 ++++++++++++++------
 src/libvirt-machine-properties.vala |  7 ++++++-
 src/ssh-display.vala                |  8 +++++++-
 src/unattended-installer.vala       |  2 +-
 src/welcome-tutorial-page.vala      |  8 ++++++--
 5 files changed, 34 insertions(+), 11 deletions(-)
---
diff --git a/src/assistant/index-page.vala b/src/assistant/index-page.vala
index dccdd022..38cda2f2 100644
--- a/src/assistant/index-page.vala
+++ b/src/assistant/index-page.vala
@@ -133,9 +133,13 @@ private async void on_featured_media_selected (Gtk.ListBoxRow row) {
                                                           _("Select"), _("Cancel"));
             file_chooser.bind_property ("visible", dialog, "visible", BindingFlags.INVERT_BOOLEAN);
             if (file_chooser.run () == Gtk.ResponseType.ACCEPT) {
-                var media = yield new InstalledMedia.gnome_nightly (file_chooser.get_filename ());
-                done (media);
-                return;
+                try {
+                    var media = yield new InstalledMedia.gnome_nightly (file_chooser.get_filename ());
+                    done (media);
+                    return;
+                } catch (GLib.Error error) {
+                    warning ("Failed to create GNOME Nightly config for '%s': %s", file_chooser.get_filename 
(), error.message);
+                }
             }
         } else {
             DownloadsHub.get_instance ().add_item (entry);
@@ -157,9 +161,13 @@ private async void on_select_file_button_clicked () {
         file_chooser.bind_property ("visible", dialog, "visible", BindingFlags.INVERT_BOOLEAN);
         if (file_chooser.run () == Gtk.ResponseType.ACCEPT) {
             var media_manager = MediaManager.get_instance ();
-            var media = yield media_manager.create_installer_media_for_path (file_chooser.get_filename (),
-                                                                             cancellable);
-            done (media);
+            try {
+                var media = yield media_manager.create_installer_media_for_path (file_chooser.get_filename 
(),
+                                                                                 cancellable);
+                done (media);
+            } catch (GLib.Error error) {
+                warning ("Failed to create installer media for path '%s': %s", file_chooser.get_filename (), 
error.message);
+            }
         }
     }
 
diff --git a/src/libvirt-machine-properties.vala b/src/libvirt-machine-properties.vala
index 5f5392e3..f21c070a 100644
--- a/src/libvirt-machine-properties.vala
+++ b/src/libvirt-machine-properties.vala
@@ -240,7 +240,12 @@ private void add_cdrom_property (GVirConfig.DomainDisk disk_config, ref List<Box
 
             /* Enable/disable boot menu */
             VMConfigurator.enable_boot_menu (machine.domain_config, !empty);
-            machine.domain.set_config (machine.domain_config);
+
+            try {
+                machine.domain.set_config (machine.domain_config);
+            } catch (GLib.Error e) {
+                warning ("Failed to update machine config for '%s': %s", machine.name, e.message);
+            }
         });
 
         var property = add_property (ref list, _("CD/DVD"), grid);
diff --git a/src/ssh-display.vala b/src/ssh-display.vala
index 9551f7f2..5e3d6c85 100644
--- a/src/ssh-display.vala
+++ b/src/ssh-display.vala
@@ -63,7 +63,13 @@ public override void set_enable_audio (bool enable) {
     private bool run (string[] command) {
         SpawnFlags flags = SpawnFlags.SEARCH_PATH_FROM_ENVP | SpawnFlags.DO_NOT_REAP_CHILD;
 
-        return display.spawn_sync (PtyFlags.DEFAULT, Environment.get_home_dir (), command, null, flags, 
null, null);
+        try {
+            return display.spawn_sync (PtyFlags.DEFAULT, Environment.get_home_dir (), command, null, flags, 
null, null);
+        } catch (GLib.Error error) {
+            warning ("Failed to spawn command in Vte terminal: %s", error.message);
+
+            return false;
+        }
     }
 
     public override void connect_it (owned Display.OpenFDFunc? open_fd = null) {
diff --git a/src/unattended-installer.vala b/src/unattended-installer.vala
index 2dabce71..5a0e9f5b 100644
--- a/src/unattended-installer.vala
+++ b/src/unattended-installer.vala
@@ -412,7 +412,7 @@ private async void fetch_user_avatar () {
 
         try {
             avatar_path = yield get_user_avatar_from_accountsservice (username);
-        } catch (GLib.IOError error) {
+        } catch (GLib.Error error) {
             warning ("Failed to retrieve information about user '%s': %s", username, error.message);
         }
 
diff --git a/src/welcome-tutorial-page.vala b/src/welcome-tutorial-page.vala
index b3e6e548..c710408a 100644
--- a/src/welcome-tutorial-page.vala
+++ b/src/welcome-tutorial-page.vala
@@ -37,7 +37,11 @@ private void load_css () {
           }
         """.printf (image);
 
-        provider.load_from_data (css);
-        get_style_context ().add_provider (provider, STYLE_PROVIDER_PRIORITY_APPLICATION);
+        try {
+            provider.load_from_data (css);
+            get_style_context ().add_provider (provider, STYLE_PROVIDER_PRIORITY_APPLICATION);
+        } catch (GLib.Error error) {
+            warning ("Failed to load CSS: %s", error.message);
+        }
     }
 }


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