Mercurial > pygame
diff src/pixelarray_methods.c @ 1011:61a09a2965b0
_Really_ fixed 24bpp access for pygame.surfarray.pixels3d().
| author | marcus |
|---|---|
| date | Sun, 13 Apr 2008 10:02:10 +0000 |
| parents | 9e42170b0f2e |
| children | 1a7e9d62146c |
line wrap: on
line diff
--- a/src/pixelarray_methods.c Sat Apr 12 20:42:59 2008 +0000 +++ b/src/pixelarray_methods.c Sun Apr 13 10:02:10 2008 +0000 @@ -46,10 +46,9 @@ if (PyInt_Check (val)) { long intval = PyInt_AsLong (val); - if ((intval < INT_MIN) || (intval > INT_MAX)) + if (intval == -1 && PyErr_Occurred ()) { - if (!PyErr_Occurred ()) - PyErr_SetString (PyExc_ValueError, "invalid color argument"); + PyErr_SetString (PyExc_ValueError, "invalid color argument"); return 0; } *color = (Uint32) intval; @@ -57,8 +56,8 @@ } else if (PyLong_Check (val)) { - long long longval = PyLong_AsLong (val); - if ((longval < INT_MIN) || (longval > INT_MAX)) + unsigned long longval = PyLong_AsUnsignedLong (val); + if (PyErr_Occurred ()) { PyErr_SetString(PyExc_ValueError, "invalid color argument"); return 0;
