diff generator/cppimplgenerator.cpp @ 132:a860544c5ee8

CMake: initial version of CMakeD script. CMake: MSVC fixes (not work yet). CMake: add experimental option BUILD_SHARED_LIBRARIES.
author SokoL_SD
date Sun, 07 Jun 2009 14:31:36 +0000
parents 23e208cef962
children ae34188ddd84
line wrap: on
line diff
--- a/generator/cppimplgenerator.cpp	Sun Jun 07 14:05:29 2009 +0000
+++ b/generator/cppimplgenerator.cpp	Sun Jun 07 14:31:36 2009 +0000
@@ -1375,7 +1375,10 @@
     AbstractMetaFunctionList signal_funcs = signalFunctions(java_class);
 
     if (cpp_shared)
-        s << "EmitCallback emit_callbacks_" << java_class->name() << "[" << signal_funcs.size() << "];" << endl;
+	if(signal_funcs.size() > 0)
+	    s << "EmitCallback emit_callbacks_" << java_class->name() << "[" << signal_funcs.size() << "];" << endl;
+	else
+	    s << "EmitCallback emit_callbacks_" << java_class->name() << "[1];" << endl; // Hack for msvc.
     else {
         // D-side signal callbacks
         for(int i = 0; i < signal_funcs.size(); i++) {
@@ -1383,7 +1386,10 @@
             writeSignalHandler(s, java_class, signal);
         }
 
-        s << "EmitCallback emit_callbacks_" << java_class->name() << "[" << signal_funcs.size() << "] = {" << endl;
+	if(signal_funcs.size() > 0)
+	    s << "EmitCallback emit_callbacks_" << java_class->name() << "[" << signal_funcs.size() << "] = {" << endl;
+	else
+	    s << "EmitCallback emit_callbacks_" << java_class->name() << "[1] = {" << endl; // Hack for msvc.
         for(int i = 0; i < signal_funcs.size(); i++) {
             AbstractMetaFunction *signal = signal_funcs.at(i);
             s << endl;