From edf01fb44b94254eb22959f1b25f8138aa535713 Mon Sep 17 00:00:00 2001 From: Renato Filho Date: Tue, 31 May 2011 15:42:09 -0300 Subject: Updated generator to use removeReference function. Reviewer: Marcelo Lira Luciano Wolf --- generator/cppgenerator.cpp | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) (limited to 'generator') diff --git a/generator/cppgenerator.cpp b/generator/cppgenerator.cpp index d4648b371..0875078e4 100644 --- a/generator/cppgenerator.cpp +++ b/generator/cppgenerator.cpp @@ -2344,13 +2344,18 @@ void CppGenerator::writeMethodCall(QTextStream& s, const AbstractMetaFunction* f } } - s << INDENT << "Shiboken::Object::keepReference(reinterpret_cast(self), \""; + if (refCount.action == ReferenceCount::Add || refCount.action == ReferenceCount::Set) + s << INDENT << "Shiboken::Object::keepReference("; + else + s << INDENT << "Shiboken::Object::removeReference("; + + s << "reinterpret_cast(self), \""; QString varName = arg_mod.referenceCounts.first().varName; if (varName.isEmpty()) varName = func->minimalSignature() + QString().number(arg_mod.index); - s << varName << "\", " << pyArgName << ", " - << (refCount.action == ReferenceCount::Add ? "true" : "false") + s << varName << "\", " << pyArgName + << (refCount.action == ReferenceCount::Add ? ", true" : "") << ");" << endl; if (arg_mod.index == 0) -- cgit v1.2.3