aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--generator/headergenerator.cpp11
-rw-r--r--tests/libsample/reference.h2
2 files changed, 7 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
diff --git a/tests/libsample/reference.h b/tests/libsample/reference.h
index cc9fcc91e..54360d880 100644
--- a/tests/libsample/reference.h
+++ b/tests/libsample/reference.h
@@ -60,6 +60,8 @@ private:
class LIBSAMPLE_API ObjTypeReference
{
public:
+ ObjTypeReference() {}
+ ObjTypeReference(const ObjTypeReference&) {}
virtual ~ObjTypeReference();
virtual ObjTypeReference& returnMyFirstArg(ObjTypeReference& ref) { return ref; }
virtual ObjTypeReference& returnMySecondArg(int a, ObjTypeReference& ref) { return ref; }