Blob Blame History Raw
From 744a95e49b6f29aa65bc5b28e0e821c38c481581 Mon Sep 17 00:00:00 2001
From: Jaroslav Mracek <jmracek@redhat.com>
Date: Fri, 19 Oct 2018 15:44:39 +0200
Subject: [PATCH] Relocate ModuleContainer save hook (RhBug:1632518)

---
 libdnf/dnf-context.cpp     | 5 +----
 libdnf/dnf-transaction.cpp | 5 +++++
 2 files changed, 6 insertions(+), 4 deletions(-)

diff --git a/libdnf/dnf-context.cpp b/libdnf/dnf-context.cpp
index 141af3a..db1741c 100644
--- a/libdnf/dnf-context.cpp
+++ b/libdnf/dnf-context.cpp
@@ -1879,10 +1879,7 @@ dnf_context_run(DnfContext *context, GCancellable *cancellable, GError **error)
                                  error);
     if (!ret)
         return FALSE;
-    auto moduleContainer = dnf_sack_get_module_container(priv->sack);
-    if (moduleContainer) {
-        moduleContainer->save();
-    }
+
     /* this sack is no longer valid */
     g_object_unref(priv->sack);
     priv->sack = NULL;
diff --git a/libdnf/dnf-transaction.cpp b/libdnf/dnf-transaction.cpp
index 5c078a0..0d948d7 100644
--- a/libdnf/dnf-transaction.cpp
+++ b/libdnf/dnf-transaction.cpp
@@ -38,12 +38,14 @@
 #include "dnf-package.h"
 #include "dnf-rpmts.h"
 #include "dnf-sack.h"
+#include "dnf-sack-private.hpp"
 #include "dnf-transaction.h"
 #include "dnf-types.h"
 #include "dnf-utils.h"
 #include "hy-query.h"
 #include "hy-util-private.hpp"
 
+#include "module/ModulePackageContainer.hpp"
 #include "transaction/Swdb.hpp"
 #include "transaction/Transformer.hpp"
 #include "utils/bgettext/bgettext-lib.h"
@@ -1435,6 +1437,9 @@ dnf_transaction_commit(DnfTransaction *transaction, HyGoal goal, DnfState *state
             goto out;
     }
 
+    if (auto moduleContainer = dnf_sack_get_module_container(dnf_context_get_sack(priv->context)))
+        moduleContainer->save();
+
     /* all sacks are invalid now */
     dnf_context_invalidate_full(priv->context,
                                 "transaction performed",
--
libgit2 0.26.7