diff --git a/Lib/php/director.swg b/Lib/php/director.swg index 06eeb73b0..92c149999 100644 --- a/Lib/php/director.swg +++ b/Lib/php/director.swg @@ -98,8 +98,7 @@ namespace Swig { TSRMLS_SET_CTX(swig_zts_ctx); } - bool swig_is_overridden_method(char *cname, char *lc_fname) { - TSRMLS_FETCH_FROM_CTX(swig_zts_ctx); + static bool swig_is_overridden_method(char *cname, char *lc_fname TSRMLS_DC) { zend_class_entry **ce; zend_function *mptr; diff --git a/Source/Modules/php.cxx b/Source/Modules/php.cxx index 00dfb064e..a2f0e3687 100644 --- a/Source/Modules/php.cxx +++ b/Source/Modules/php.cxx @@ -915,10 +915,8 @@ public: } if (is_member_director(n)) { - Wrapper_add_local(f, "director", "Swig::Director *director = 0"); - Printf(f->code, "director = dynamic_cast(arg1);\n"); Wrapper_add_local(f, "upcall", "bool upcall = false"); - Printf(f->code, "upcall = !director->swig_is_overridden_method((char *)\"%s%s\", (char *)\"%s\");\n", + Printf(f->code, "upcall = !Swig::Director::swig_is_overridden_method((char *)\"%s%s\", (char *)\"%s\" TSRMLS_CC);\n", prefix, Swig_class_name(Swig_methodclass(n)), name); }