diff generator/dgenerator.cpp @ 301:4d8481385c71 signals

windows fix
author eldar
date Tue, 08 Dec 2009 21:13:24 +0000
parents adae77fdc1ea
children 55ee4603365d
line wrap: on
line diff
--- a/generator/dgenerator.cpp	Sun Dec 06 22:21:22 2009 +0000
+++ b/generator/dgenerator.cpp	Tue Dec 08 21:13:24 2009 +0000
@@ -2573,18 +2573,10 @@
                 initArgs = "virt_arr.ptr";
 
             if (d_class->isQObject()) {
-
-                // signals
-                AbstractMetaFunctionList signal_funcs = signalFunctions(d_class);
-                s << endl << INDENT << "void*[" << signal_funcs.size() << "] sign_arr;" << endl;
-                for(int i = 0; i < signal_funcs.size(); i++) {
-                    AbstractMetaFunction *signal = signal_funcs.at(i);
-                    s << INDENT << "sign_arr[" << i << "] = &" << signalExternName(d_class, signal) << "_handle;" << endl;
-                }
-                if(signal_funcs.size() == 0)
-                    initArgs += ", null";
-                else
-                    initArgs += ", sign_arr.ptr";
+                // qt_metacalls
+                s << endl << INDENT << "void*[1] sign_arr;" << endl;
+                s << INDENT << "sign_arr[0] = &qtd_" << d_class->name() << "_qt_metacall_dispatch;" << endl;
+                initArgs += ", sign_arr.ptr";
             }
 
             s << INDENT << "qtd_" << d_class->name() << QString("_initCallBacks(%1);").arg(initArgs) << endl;