X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/c90f71dd8c2ec6670edb45c39000a048bd163ae9..b9ac87bc5cbe46227195e32c44e25831f8206e3c:/wxPython/wxSWIG/Modules/pycpp.cxx diff --git a/wxPython/wxSWIG/Modules/pycpp.cxx b/wxPython/wxSWIG/Modules/pycpp.cxx index 256a4399d9..89cd85ffd5 100644 --- a/wxPython/wxSWIG/Modules/pycpp.cxx +++ b/wxPython/wxSWIG/Modules/pycpp.cxx @@ -260,10 +260,15 @@ void PYTHON::cpp_destructor(char *name, char *newname) { else realname = name; } - *pyclass << tab4 << "def __del__(self," << module << "=" << module << "):\n"; + char* dfname = name_destroy(realname); + + *pyclass << tab4 << "def __del__(self, " << "delfunc=" << module<< "." << dfname << "):\n"; emitAddPragmas(*pyclass,"__del__",tab8); - *pyclass << tab8 << "if self.thisown == 1 :\n" - << tab8 << tab4 << module << "." << name_destroy(realname) << "(self)\n"; + *pyclass << tab8 << "if self.thisown == 1:\n" + << tab8 << tab4 << "try:\n" + << tab8 << tab8 << "delfunc(self)\n" + << tab8 << tab4 << "except:\n" + << tab8 << tab8 << "pass\n"; have_destructor = 1; if (doc_entry) {