Mercurial > projects > qtd
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;