Fix PHP crash in director_finalizer
This commit is contained in:
parent
558ded2ceb
commit
0dd685bad2
2 changed files with 2 additions and 5 deletions
|
|
@ -98,8 +98,7 @@ namespace Swig {
|
||||||
TSRMLS_SET_CTX(swig_zts_ctx);
|
TSRMLS_SET_CTX(swig_zts_ctx);
|
||||||
}
|
}
|
||||||
|
|
||||||
bool swig_is_overridden_method(char *cname, char *lc_fname) {
|
static bool swig_is_overridden_method(char *cname, char *lc_fname TSRMLS_DC) {
|
||||||
TSRMLS_FETCH_FROM_CTX(swig_zts_ctx);
|
|
||||||
zend_class_entry **ce;
|
zend_class_entry **ce;
|
||||||
zend_function *mptr;
|
zend_function *mptr;
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -915,10 +915,8 @@ public:
|
||||||
}
|
}
|
||||||
|
|
||||||
if (is_member_director(n)) {
|
if (is_member_director(n)) {
|
||||||
Wrapper_add_local(f, "director", "Swig::Director *director = 0");
|
|
||||||
Printf(f->code, "director = dynamic_cast<Swig::Director*>(arg1);\n");
|
|
||||||
Wrapper_add_local(f, "upcall", "bool upcall = false");
|
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);
|
prefix, Swig_class_name(Swig_methodclass(n)), name);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue