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
elif [ "$1" = "24" ]; then
PYVER=2.4
elif [ "$1" = "25" ]; then
PYVER=2.5
else
echo You must specify Python version as first parameter.
exit

View File

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

View File

@ -186,6 +186,13 @@ typedef PyGILState_STATE wxPyBlock_t;
#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
// 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 ))
{
char* buf;
int length;
char* buf;
Py_ssize_t length;
PyString_AsStringAndSize(bits, &buf, &length);
return new wxBitmap(buf, width, height, depth);
}

View File

@ -1878,7 +1878,7 @@ wxString* wxString_in_helper(PyObject* source) {
str = PyObject_Str(source);
if (PyErr_Occurred()) return NULL;
}
char* tmpPtr; int tmpSize;
char* tmpPtr; Py_ssize_t tmpSize;
PyString_AsStringAndSize(str, &tmpPtr, &tmpSize);
target = new wxString(tmpPtr, tmpSize);
@ -1921,7 +1921,7 @@ wxString Py2wxString(PyObject* source)
str = PyObject_Str(source);
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);
target = wxString(tmpPtr, tmpSize);