Blame SOURCES/0012-ovirt-foreign-menu-Factor-out-code-to-set-file-colle.patch

3e75f9
From ae35866aa4ff8b880b87d7a8c5ad82f539bb0770 Mon Sep 17 00:00:00 2001
3e75f9
From: "Eduardo Lima (Etrunko)" <etrunko@redhat.com>
3e75f9
Date: Tue, 31 Jul 2018 11:01:55 -0300
3e75f9
Subject: [PATCH virt-viewer] ovirt-foreign-menu: Factor out code to set file
3e75f9
 collection
3e75f9
3e75f9
Signed-off-by: Eduardo Lima (Etrunko) <etrunko@redhat.com>
3e75f9
Acked-by: Victor Toso <victortoso@redhat.com>
3e75f9
---
3e75f9
 src/ovirt-foreign-menu.c | 25 +++++++++++++++++--------
3e75f9
 1 file changed, 17 insertions(+), 8 deletions(-)
3e75f9
3e75f9
diff --git a/src/ovirt-foreign-menu.c b/src/ovirt-foreign-menu.c
3e75f9
index a729934..4c1ea06 100644
3e75f9
--- a/src/ovirt-foreign-menu.c
3e75f9
+++ b/src/ovirt-foreign-menu.c
3e75f9
@@ -680,6 +680,18 @@ static gboolean storage_domain_validate(OvirtForeignMenu *menu G_GNUC_UNUSED,
3e75f9
     return ret;
3e75f9
 }
3e75f9
 
3e75f9
+static gboolean ovirt_foreign_menu_set_file_collection(OvirtForeignMenu *menu, OvirtCollection *file_collection)
3e75f9
+{
3e75f9
+    g_return_val_if_fail(file_collection != NULL, FALSE);
3e75f9
+
3e75f9
+    if (menu->priv->files) {
3e75f9
+        g_object_unref(G_OBJECT(menu->priv->files));
3e75f9
+    }
3e75f9
+    menu->priv->files = g_object_ref(G_OBJECT(file_collection));
3e75f9
+    g_debug("Set VM files to %p", menu->priv->files);
3e75f9
+    return TRUE;
3e75f9
+}
3e75f9
+
3e75f9
 static void storage_domains_fetched_cb(GObject *source_object,
3e75f9
                                        GAsyncResult *result,
3e75f9
                                        gpointer user_data)
3e75f9
@@ -711,14 +723,11 @@ static void storage_domains_fetched_cb(GObject *source_object,
3e75f9
             domain_valid = TRUE;
3e75f9
 
3e75f9
         file_collection = ovirt_storage_domain_get_files(domain);
3e75f9
-        if (file_collection != NULL) {
3e75f9
-            if (menu->priv->files) {
3e75f9
-                g_object_unref(G_OBJECT(menu->priv->files));
3e75f9
-            }
3e75f9
-            menu->priv->files = g_object_ref(G_OBJECT(file_collection));
3e75f9
-            g_debug("Set VM files to %p", menu->priv->files);
3e75f9
-            break;
3e75f9
-        }
3e75f9
+        if (!ovirt_foreign_menu_set_file_collection(menu, file_collection))
3e75f9
+            continue;
3e75f9
+
3e75f9
+        break; /* There can only be one valid storage domain at a time,
3e75f9
+                  no need to iterate more on the list */
3e75f9
     }
3e75f9
 
3e75f9
     if (menu->priv->files != NULL) {
3e75f9
-- 
3e75f9
2.21.0
3e75f9