[gnome-builder] flatpak: ignore "already installed" errors



commit 7d977d1740c39c7dd57dce222ec9e1d89fe91500
Author: Christian Hergert <chergert redhat com>
Date:   Sat Feb 18 14:53:25 2017 -0800

    flatpak: ignore "already installed" errors

 plugins/flatpak/gbp-flatpak-application-addin.c |   15 ++++++++++++++-
 1 files changed, 14 insertions(+), 1 deletions(-)
---
diff --git a/plugins/flatpak/gbp-flatpak-application-addin.c b/plugins/flatpak/gbp-flatpak-application-addin.c
index 9652a28..5627e48 100644
--- a/plugins/flatpak/gbp-flatpak-application-addin.c
+++ b/plugins/flatpak/gbp-flatpak-application-addin.c
@@ -630,6 +630,7 @@ gbp_flatpak_application_addin_install_runtime_finish (GbpFlatpakApplicationAddin
                                                       GError                     **error)
 {
   InstallRequest *request;
+  g_autoptr(GError) local_error = NULL;
 
   g_return_val_if_fail (GBP_IS_FLATPAK_APPLICATION_ADDIN (self), FALSE);
   g_return_val_if_fail (G_IS_TASK (result), FALSE);
@@ -647,7 +648,19 @@ gbp_flatpak_application_addin_install_runtime_finish (GbpFlatpakApplicationAddin
       g_signal_emit (self, signals[RUNTIME_ADDED], 0, request->ref);
     }
 
-  return g_task_propagate_boolean (G_TASK (result), error);
+  if (!g_task_propagate_boolean (G_TASK (result), &local_error))
+    {
+      /* Ignore "already installed" errors. */
+      if (!g_error_matches (local_error, FLATPAK_ERROR, FLATPAK_ERROR_ALREADY_INSTALLED))
+        {
+          g_propagate_error (error,  g_steal_pointer (&local_error));
+          return FALSE;
+        }
+
+      g_clear_error (&local_error);
+    }
+
+  return TRUE;
 }
 
 gboolean


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