comparison generator/cppimplgenerator.cpp @ 386:7dddafad5a20

shared stor fix
author Max Samukha <maxter@spambox.com>
date Mon, 19 Jul 2010 13:29:57 +0300
parents d2f48c4cb3e3
children
comparison
equal deleted inserted replaced
385:e700fa4916e4 386:7dddafad5a20
915 << QString("_initCallBacks(%1) {").arg(initArgs) << endl; 915 << QString("_initCallBacks(%1) {").arg(initArgs) << endl;
916 916
917 // virtual functions handlers 917 // virtual functions handlers
918 AbstractMetaFunctionList virtualFunctions = java_class->virtualFunctions(); 918 AbstractMetaFunctionList virtualFunctions = java_class->virtualFunctions();
919 AbstractMetaFunction::Options opts(AbstractMetaFunction::DeclaringClass | AbstractMetaFunction::NoExternNamespace); 919 AbstractMetaFunction::Options opts(AbstractMetaFunction::DeclaringClass | AbstractMetaFunction::NoExternNamespace);
920 for (int pos = 0; pos<virtualFunctions.size(); ++pos) { 920
921 const AbstractMetaFunction *function = virtualFunctions.at(pos); 921 size_t virtual_index = 0;
922 foreach (const AbstractMetaFunction *function, virtualFunctions) {
922 if (!notWrappedYet(function) && java_class == function->declaringClass()) { // qtd2 923 if (!notWrappedYet(function) && java_class == function->declaringClass()) { // qtd2
923 QString mName = function->marshalledName(opts); 924 QString mName = function->marshalledName(opts);
924 s << " qtd_" << mName << "_dispatch = " 925 s << " qtd_" << mName << "_dispatch = "
925 "(qtd_" << mName << "_dispatch_t) virts[" << pos << "];" << endl; 926 "(qtd_" << mName << "_dispatch_t) virts[" << virtual_index << "];" << endl;
927 virtual_index++;
926 } 928 }
927 } 929 }
928 // D-side signal callbacks 930 // D-side signal callbacks
929 if (java_class->name() == "QObject") { 931 if (java_class->name() == "QObject") {
930 s << " qtd_QObject_qt_metacall_dispatch = (QtMetacallCallback)sigs[0];" << endl 932 s << " qtd_QObject_qt_metacall_dispatch = (QtMetacallCallback)sigs[0];" << endl