aboutsummaryrefslogtreecommitdiffstats
path: root/shibokengenerator.cpp
diff options
context:
space:
mode:
authorHugo Lima <hugo.lima@openbossa.org>2009-12-01 10:57:56 -0200
committerHugo Lima <hugo.lima@openbossa.org>2009-12-01 10:57:56 -0200
commit1b1c6f7dadaeb5872a3d3a170782cb8cf52f4940 (patch)
tree03f1a70828fb0dc2f44f5c500af7de34c871c596 /shibokengenerator.cpp
parent2867ee6f75990d2540baabc55fdfc0c8f527b12d (diff)
Dereference pointers when the argument is passed by value when replacing template variables like %n.
Reviewed by Marcelo Lira <marcelo.lira@openbossa.org>
Diffstat (limited to 'shibokengenerator.cpp')
-rw-r--r--shibokengenerator.cpp5
1 files changed, 4 insertions, 1 deletions
diff --git a/shibokengenerator.cpp b/shibokengenerator.cpp
index e4d207c8a..228e09fb2 100644
--- a/shibokengenerator.cpp
+++ b/shibokengenerator.cpp
@@ -940,8 +940,11 @@ void ShibokenGenerator::writeCodeSnips(QTextStream& s,
if (lastArg && arg->argumentIndex() > lastArg->argumentIndex())
argReplacement = arg->defaultValueExpression();
- if (argReplacement.isEmpty())
+ if (argReplacement.isEmpty()) {
argReplacement = QString("cpp_arg%1").arg(i - removed);
+ if (shouldDereferenceArgumentPointer(arg))
+ argReplacement.prepend('*');
+ }
} else {
argReplacement = arg->argumentName();
}