# HG changeset patch # User eldar # Date 1247646822 0 # Node ID 0c7abb1e6a9d0d4873422f50035b4abdeeda27e0 # Parent c9670583880e4f55ae6c2ae14e4d99fdd7fe9a28 windows fix, again diff -r c9670583880e -r 0c7abb1e6a9d generator/dgenerator.cpp --- a/generator/dgenerator.cpp Tue Jul 14 22:14:00 2009 +0000 +++ b/generator/dgenerator.cpp Wed Jul 15 08:33:42 2009 +0000 @@ -2277,7 +2277,11 @@ s << "(void* native_id, bool no_real_delete = false) {" << endl << INDENT << "super(native_id, no_real_delete);" << endl; } - + if (cpp_shared) { + if (d_class->generateShellClass() && !d_class->isInterface()) + s << INDENT << "if (!init_flag_" << d_class->name() << ")" << endl + << INDENT << " static_init_" << d_class->name() << "();" << endl << endl; + } // customized store-result instances d_funcs = d_class->functionsInTargetLang(); for (int i=0; iownerClass()->generateShellClass(); - if (cpp_shared) { - if (shellClass && !d_function->ownerClass()->isInterface()) - s << INDENT << "if (!init_flag_" << d_function->ownerClass()->name() << ")" << endl - << INDENT << " static_init_" << d_function->ownerClass()->name() << "();" << endl << endl; - } + writeJavaCallThroughContents(s, d_function); // Write out expense checks if present...