From: Michael Tremer Date: Mon, 29 Jan 2024 17:45:13 +0000 (+0000) Subject: problem: Store a reference to the context X-Git-Tag: 0.9.30~1232 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=d3c74e42523ee2c03dcaabcfc853115516d83edf;p=pakfire.git problem: Store a reference to the context Signed-off-by: Michael Tremer --- diff --git a/src/libpakfire/problem.c b/src/libpakfire/problem.c index d76f0bcc6..5d696dd06 100644 --- a/src/libpakfire/problem.c +++ b/src/libpakfire/problem.c @@ -25,6 +25,7 @@ #define PAKFIRE_LEGACY_LOGGING #include +#include #include #include #include @@ -36,6 +37,7 @@ #include struct pakfire_problem { + struct pakfire_ctx* ctx; struct pakfire* pakfire; int nrefs; @@ -198,6 +200,7 @@ int pakfire_problem_create(struct pakfire_problem** problem, if (!p) return 1; + p->ctx = pakfire_ctx(pakfire); p->pakfire = pakfire_ref(pakfire); p->nrefs = 1; @@ -222,7 +225,10 @@ static void pakfire_problem_free(struct pakfire_problem* problem) { pakfire_transaction_unref(problem->transaction); if (problem->string) free(problem->string); - pakfire_unref(problem->pakfire); + if (problem->pakfire) + pakfire_unref(problem->pakfire); + if (problem->ctx) + pakfire_ctx_unref(problem->ctx); free(problem); }