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;