diff generator/dgenerator.cpp @ 304:04b52676b45f signals

fixed compiling all packages
author eldar_ins@eldar-laptop
date Sun, 13 Dec 2009 06:24:55 +0500
parents 98b211f3ee34
children 91ed8edd442e
line wrap: on
line diff
--- a/generator/dgenerator.cpp	Sat Dec 12 16:01:55 2009 +0500
+++ b/generator/dgenerator.cpp	Sun Dec 13 06:24:55 2009 +0500
@@ -2287,6 +2287,8 @@
     // construction of a native copy of a Value
     if (d_class->typeEntry()->isValue())
     {
+        AbstractMetaFunction *copy_ctor = d_class->copyConstructor();
+        if (!d_class->typeEntry()->hasPrivateCopyConstructor()) // can do a copy if we have a public ctor or don't have any
             s << INDENT << "static void* __constructNativeCopy(const void* orig) {" << endl
               << INDENT << "    return qtd_" << d_class->name() << "_native_copy(orig);" << endl
               << INDENT << "}" << endl << endl
@@ -2470,6 +2472,8 @@
 
     if (d_class->typeEntry()->isValue())
     {
+        AbstractMetaFunction *copy_ctor = d_class->copyConstructor();
+        if (!d_class->typeEntry()->hasPrivateCopyConstructor())  // can do a copy if we have a public ctor or don't have any
         {
             s << "private extern(C) void qtd_" << d_class->name() << "_placed_copy(const void* orig, void* place);" << endl
               << "private extern(C) void* qtd_" << d_class->name() << "_native_copy(const void* orig);" << endl;