X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/c90f71dd8c2ec6670edb45c39000a048bd163ae9..429ef4bceaceb7b049396f795178d7072f027f62:/wxPython/wxSWIG/Modules/python.cxx diff --git a/wxPython/wxSWIG/Modules/python.cxx b/wxPython/wxSWIG/Modules/python.cxx index f2c9f41b2b..9abad191f2 100644 --- a/wxPython/wxSWIG/Modules/python.cxx +++ b/wxPython/wxSWIG/Modules/python.cxx @@ -484,9 +484,13 @@ PYTHON::get_pointer(char *iname, char *srcname, char *src, char *dest, // Now get the pointer value from the string and save in dest - f << tab4 << "if (" << src << ") {\n" - << tab8 << "if (" << src << " == Py_None) { " << dest << " = NULL; }\n" - << tab8 << "else if (SWIG_GetPtrObj(" << src << ",(void **) &" << dest << ","; + if (t->is_reference) + f << tab4 << "if (" << src << ") {\n" + << tab8 << "if (SWIG_GetPtrObj(" << src << ",(void **) &" << dest << ","; + else + f << tab4 << "if (" << src << ") {\n" + << tab8 << "if (" << src << " == Py_None) { " << dest << " = NULL; }\n" + << tab8 << "else if (SWIG_GetPtrObj(" << src << ",(void **) &" << dest << ","; // If we're passing a void pointer, we give the pointer conversion a NULL // pointer, otherwise pass in the expected type. @@ -1067,7 +1071,7 @@ void PYTHON::create_function(char *name, char *iname, DataType *d, ParmList *l) func << tab4 << "\"\"\"" << add_docstring(doc_entry) << "\"\"\"\n"; } - func << tab4 << "val = apply(" << module << "." << iname << ",_args,_kwargs)\n"; + func << tab4 << "val = " << module << "." << iname << "(*_args,**_kwargs)\n"; if (munge_return) { // If the output of this object has been remapped in any way, we're