aboutsummaryrefslogtreecommitdiffstats
path: root/generator/headergenerator.cpp
diff options
context:
space:
mode:
authorHugo Parente Lima <hugo.pl@gmail.com>2010-10-27 19:45:19 -0200
committerHugo Parente Lima <hugo.pl@gmail.com>2012-03-08 16:08:53 -0300
commit34cce54d695330ebfa047dbbb4c1c0ab60e22c74 (patch)
treef5cb8a4e53fa1aeb930fe9ce189c144fba506db3 /generator/headergenerator.cpp
parent8a727dddc028c94807b85b9acd8c88dd276fd12a (diff)
Write copy constructor for Object types when there is one.
Diffstat (limited to 'generator/headergenerator.cpp')
-rw-r--r--generator/headergenerator.cpp11
1 files changed, 5 insertions, 6 deletions
diff --git a/generator/headergenerator.cpp b/generator/headergenerator.cpp
index 39db3c6ed..12d246a13 100644
--- a/generator/headergenerator.cpp
+++ b/generator/headergenerator.cpp
@@ -91,9 +91,6 @@ void HeaderGenerator::generateClass(QTextStream& s, const AbstractMetaClass* met
s << endl << '{' << endl << "public:" << endl;
- if (metaClass->typeEntry()->isValue())
- writeCopyCtor(s, metaClass);
-
bool hasVirtualFunction = false;
foreach (AbstractMetaFunction *func, filterFunctions(metaClass)) {
if (func->isVirtual())
@@ -142,11 +139,13 @@ void HeaderGenerator::generateClass(QTextStream& s, const AbstractMetaClass* met
void HeaderGenerator::writeFunction(QTextStream& s, const AbstractMetaFunction* func) const
{
+
// do not write copy ctors here.
- if (func->isCopyConstructor())
+ if (!func->isPrivate() && func->isCopyConstructor()) {
+ writeCopyCtor(s, func->ownerClass());
return;
-
- if (func->isConstructor() && func->isUserAdded())
+ }
+ if (func->isUserAdded())
return;
#ifdef AVOID_PROTECTED_HACK