From 750c67576ea3356c0dd95d92ca1d667a220f11a8 Mon Sep 17 00:00:00 2001 From: Renato Filho Date: Mon, 2 Aug 2010 14:30:43 -0300 Subject: Uses insert to append items to std::list. Reviewer: Marcelo Lira Luciano Wolf --- libshiboken/basewrapper.cpp | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) (limited to 'libshiboken/basewrapper.cpp') diff --git a/libshiboken/basewrapper.cpp b/libshiboken/basewrapper.cpp index b48272bb9..dcd8c8724 100644 --- a/libshiboken/basewrapper.cpp +++ b/libshiboken/basewrapper.cpp @@ -379,7 +379,9 @@ void deallocWrapperWithPrivateDtor(PyObject* self) void keepReference(SbkBaseWrapper* self, const char* key, PyObject* referredObject, bool append) { + bool isNone = (!referredObject || (referredObject == Py_None)); + if (!self->referredObjects) self->referredObjects = new Shiboken::RefCountMap; @@ -396,7 +398,7 @@ void keepReference(SbkBaseWrapper* self, const char* key, PyObject* referredObje if (!isNone) { std::list values = splitPyObject(referredObject); if (append && (iter != refCountMap.end())) - refCountMap[key].assign(values.begin(), values.end()); + refCountMap[key].insert(refCountMap[key].end(), values.begin(), values.end()); else refCountMap[key] = values; } -- cgit v1.2.3