Changes needed for building with Python 2.5

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@39987 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
Robin Dunn
2006-07-05 00:37:11 +00:00
parent 453fb36b0a
commit a608c09d85
5 changed files with 14 additions and 4 deletions

View File

@@ -25,6 +25,8 @@ function getpyver {
PYVER=2.3 PYVER=2.3
elif [ "$1" = "24" ]; then elif [ "$1" = "24" ]; then
PYVER=2.4 PYVER=2.4
elif [ "$1" = "25" ]; then
PYVER=2.5
else else
echo You must specify Python version as first parameter. echo You must specify Python version as first parameter.
exit exit

View File

@@ -12,6 +12,7 @@ case $1 in
22 | 2.2) VER=22; shift ;; 22 | 2.2) VER=22; shift ;;
23 | 2.3) VER=23; shift ;; 23 | 2.3) VER=23; shift ;;
24 | 2.4) VER=24; shift ;; 24 | 2.4) VER=24; shift ;;
25 | 2.5) VER=25; shift ;;
*) VER=24 *) VER=24
esac esac

View File

@@ -186,6 +186,13 @@ typedef PyGILState_STATE wxPyBlock_t;
#endif #endif
// Python 2.5 changes the type of some API parameter and return types. Using
// this typedef for versions < 2.5 will help with the transition...
#if PY_VERSION_HEX < 0x02050000
typedef int Py_ssize_t;
#endif
#ifndef wxPyUSE_EXPORTED_API #ifndef wxPyUSE_EXPORTED_API
// For Python --> C++ // For Python --> C++

View File

@@ -150,8 +150,8 @@ bit depths, the behaviour is platform dependent.", "");
%RenameCtor(BitmapFromBits, wxBitmap(PyObject* bits, int width, int height, int depth=1 )) %RenameCtor(BitmapFromBits, wxBitmap(PyObject* bits, int width, int height, int depth=1 ))
{ {
char* buf; char* buf;
int length; Py_ssize_t length;
PyString_AsStringAndSize(bits, &buf, &length); PyString_AsStringAndSize(bits, &buf, &length);
return new wxBitmap(buf, width, height, depth); return new wxBitmap(buf, width, height, depth);
} }

View File

@@ -1878,7 +1878,7 @@ wxString* wxString_in_helper(PyObject* source) {
str = PyObject_Str(source); str = PyObject_Str(source);
if (PyErr_Occurred()) return NULL; if (PyErr_Occurred()) return NULL;
} }
char* tmpPtr; int tmpSize; char* tmpPtr; Py_ssize_t tmpSize;
PyString_AsStringAndSize(str, &tmpPtr, &tmpSize); PyString_AsStringAndSize(str, &tmpPtr, &tmpSize);
target = new wxString(tmpPtr, tmpSize); target = new wxString(tmpPtr, tmpSize);
@@ -1921,7 +1921,7 @@ wxString Py2wxString(PyObject* source)
str = PyObject_Str(source); str = PyObject_Str(source);
if (PyErr_Occurred()) return wxEmptyString; // TODO: should we PyErr_Clear? if (PyErr_Occurred()) return wxEmptyString; // TODO: should we PyErr_Clear?
} }
char* tmpPtr; int tmpSize; char* tmpPtr; Py_ssize_t tmpSize;
PyString_AsStringAndSize(str, &tmpPtr, &tmpSize); PyString_AsStringAndSize(str, &tmpPtr, &tmpSize);
target = wxString(tmpPtr, tmpSize); target = wxString(tmpPtr, tmpSize);