diff generator/dgenerator.cpp @ 294:bb37b0ed94c9 signals

some more QList
author eldar
date Fri, 13 Nov 2009 20:42:51 +0000
parents 8627891e4556
children 463563fc9e17
line wrap: on
line diff
--- a/generator/dgenerator.cpp	Fri Nov 13 19:09:28 2009 +0000
+++ b/generator/dgenerator.cpp	Fri Nov 13 20:42:51 2009 +0000
@@ -1694,6 +1694,20 @@
         }
         s << INDENT << "}" << endl << endl;
     }
+
+    if (d_class->typeEntry()->isValue())
+    {
+        s << INDENT << "public static void __deleteNativeObject(void* ptr) {" << endl
+          << INDENT << "    qtd_" << d_class->name() << "_destructor(ptr);" << endl
+          << INDENT << "}" << endl << endl;
+    }
+
+    if (d_class->typeEntry()->isValue())
+    {
+        s << INDENT << "public static void __callNativeDestructor(void* ptr) {" << endl
+          << INDENT << "    qtd_" << d_class->name() << "_call_destructor(ptr);" << endl
+          << INDENT << "}" << endl << endl;
+    }
 }
 
 void DGenerator::writeFlagsSetter(QTextStream &s, const AbstractMetaClass *d_class)
@@ -2535,7 +2549,8 @@
         writeConversionFunction(s, d_class);
 
     if (d_class->hasConstructors() && !d_class->isQObject())
-        s << "extern (C) void qtd_" << d_class->name() << "_destructor(void *ptr);" << endl << endl;
+        s << "extern (C) void qtd_" << d_class->name() << "_destructor(void *ptr);" << endl
+          << "extern (C) void qtd_" << d_class->name() << "_call_destructor(void *ptr);" << endl << endl;
 
     // qtd