From dccca5634fe77df6d70d552f4c5ed74203eb3186 Mon Sep 17 00:00:00 2001 From: Robin Dunn Date: Mon, 21 Oct 2002 21:10:11 +0000 Subject: [PATCH] Fixed wxSWIG so that it won't convert None to NULL for parameters that are C++ references, it still does for pointer parameters. git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/branches/WX_2_4_BRANCH@17597 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775 --- wxPython/wxSWIG/Modules/python.cxx | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/wxPython/wxSWIG/Modules/python.cxx b/wxPython/wxSWIG/Modules/python.cxx index f2c9f41b2b..8d26c6f8f2 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.