From 744a95e49b6f29aa65bc5b28e0e821c38c481581 Mon Sep 17 00:00:00 2001 From: Jaroslav Mracek 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