Fix #1505591 Throwing exceptions in extended directors

git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk/SWIG@9361 626c5289-ae23-0410-ae9c-e8d60b6d4f22
This commit is contained in:
William S Fulton 2006-09-25 21:47:08 +00:00
commit da079c2d2b
4 changed files with 16 additions and 8 deletions

View file

@ -645,16 +645,13 @@ public:
Printf(f_directors_h, "#include <map>\n");
Printf(f_directors_h, "#include <string>\n\n");
}
/* Printf(f_directors_h, "class Swig::Director;\n\n"); */
Swig_insert_file("director_h.swg", f_directors_h);
Printf(f_directors, "\n\n");
Printf(f_directors, "/* ---------------------------------------------------\n");
Printf(f_directors, " * C++ director class methods\n");
Printf(f_directors, " * --------------------------------------------------- */\n\n");
if (outfile_h) {
if (outfile_h)
Printf(f_directors, "#include \"%s\"\n\n",Swig_file_filename(outfile_h));
}
Swig_insert_file("director.swg", f_directors);
}
/* If shadow classing is enabled, we're going to change the module name to "_module" */
@ -801,6 +798,11 @@ public:
/* emit code */
Language::top(n);
if (directorsEnabled()) {
// Insert director runtime into the f_runtime file (make it occur before %header section)
Swig_insert_file("director.swg", f_runtime);
}
/* Close language module */
Append(methods,"\t { NULL, NULL, 0, NULL }\n");
Append(methods,"};\n");