diff options
author | Friedemann Kleint <Friedemann.Kleint@qt.io> | 2017-03-03 13:33:06 +0100 |
---|---|---|
committer | Friedemann Kleint <Friedemann.Kleint@qt.io> | 2017-03-06 10:25:13 +0000 |
commit | 6b4e7c114bbeb24829db73f4ff4327417743a3cd (patch) | |
tree | 0dffd707d7e6814c8370af4d78cf00d04f0cce57 /generator | |
parent | 67e112826557421d3494e9d8e53fcd951f0a360f (diff) |
CppGenerator::writeVirtualMethodNative(): Fix generating return for void
The code would generate
return foo();
even for void functions.
Fix it to generate
foo();
return;
Change-Id: I007adf85a52ec08e5c2ada14b0c9ba4aa3ba66f8
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
Diffstat (limited to 'generator')
-rw-r--r-- | generator/shiboken2/cppgenerator.cpp | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/generator/shiboken2/cppgenerator.cpp b/generator/shiboken2/cppgenerator.cpp index 512782b..efdcbaf 100644 --- a/generator/shiboken2/cppgenerator.cpp +++ b/generator/shiboken2/cppgenerator.cpp @@ -657,8 +657,13 @@ void CppGenerator::writeVirtualMethodNative(QTextStream&s, const AbstractMetaFun s << INDENT << "return " << (retType ? defaultReturnExpr : QString()); } else { s << INDENT << "gil.release();" << endl; - s << INDENT << "return this->::" << func->implementingClass()->qualifiedCppName() << "::"; + s << INDENT; + if (retType) + s << "return "; + s << "this->::" << func->implementingClass()->qualifiedCppName() << "::"; writeFunctionCall(s, func, Generator::VirtualCall); + if (!retType) + s << ";\n" << INDENT << "return"; } } s << ';' << endl; |