From 18f0782b469cd92b0f439bb3e5b417595256bd1f Mon Sep 17 00:00:00 2001 From: Sylvain Berfini Date: Mon, 2 Oct 2017 16:58:02 +0200 Subject: [PATCH] Take a ref when creating a bctbx_list of C pointers from a std::list of shared_ptr --- src/c-wrapper/internal/c-tools.h | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/src/c-wrapper/internal/c-tools.h b/src/c-wrapper/internal/c-tools.h index 25aecf70d..b200979da 100644 --- a/src/c-wrapper/internal/c-tools.h +++ b/src/c-wrapper/internal/c-tools.h @@ -367,8 +367,9 @@ public: > static inline bctbx_list_t *getResolvedCListFromCppList (const std::list> &cppList) { bctbx_list_t *result = nullptr; - for (const auto &value : cppList) - result = bctbx_list_append(result, getCBackPtr(value)); + for (const auto &value : cppList) { + result = bctbx_list_append(result, belle_sip_object_ref(getCBackPtr(value))); + } return result; } @@ -379,7 +380,7 @@ public: static inline bctbx_list_t *getResolvedCListFromCppList (const std::list &cppList) { bctbx_list_t *result = nullptr; for (const auto &value : cppList) - result = bctbx_list_append(result, getCBackPtr(value)); + result = bctbx_list_append(result, belle_sip_object_ref(getCBackPtr(value))); return result; }