diff 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
line wrap: on
line diff
--- a/generator/cppimplgenerator.cpp	Fri Jul 16 20:11:14 2010 +0300
+++ b/generator/cppimplgenerator.cpp	Mon Jul 19 13:29:57 2010 +0300
@@ -917,12 +917,14 @@
     // virtual functions handlers
     AbstractMetaFunctionList virtualFunctions = java_class->virtualFunctions();
     AbstractMetaFunction::Options opts(AbstractMetaFunction::DeclaringClass | AbstractMetaFunction::NoExternNamespace);
-    for (int pos = 0; pos<virtualFunctions.size(); ++pos) {
-        const AbstractMetaFunction *function = virtualFunctions.at(pos);
+
+    size_t virtual_index = 0;
+    foreach (const AbstractMetaFunction *function, virtualFunctions) {        
         if (!notWrappedYet(function) && java_class == function->declaringClass()) { // qtd2
             QString mName = function->marshalledName(opts);
             s << "    qtd_" << mName << "_dispatch = "
-                 "(qtd_" << mName << "_dispatch_t) virts[" << pos << "];" << endl;
+                 "(qtd_" << mName << "_dispatch_t) virts[" << virtual_index << "];" << endl;
+            virtual_index++;
         }
     }
     // D-side signal callbacks