|
|
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 |
|