Thanks :) On Sun, Jan 20, 2013 at 10:13 AM, Piotr Borkowski <bork...@gmail.com> wrote:
> > diff -r 4a4611239021 src/gfxdraw.c > --- a/src/gfxdraw.c Thu Jan 10 14:18:39 2013 +0000 > +++ b/src/gfxdraw.c Sun Jan 13 22:30:53 2013 +0100 > @@ -237,6 +237,7 @@ > PyErr_SetString (PyExc_TypeError, "surface must be a Surface"); > return NULL; > } > + > sdlrect = GameRect_FromObject (rect, &temprect); > if (sdlrect == NULL) { > return NULL; > @@ -274,9 +275,8 @@ > if (!PyArg_ParseTuple (args, "OOO:box", &surface, &rect, &color)) { > return NULL; > } > - > - if (!PySurface_Check (surface)) { > - PyErr_SetString (PyExc_TypeError, "surface must be a Surface"); > + if (!PyType_IsSubtype(surface->**ob_type, &PySurface_Type)) { > + PyErr_SetString (PyExc_TypeError, "surface must be a subclass > of Surface"); > return NULL; > } > sdlrect = GameRect_FromObject (rect, &temprect); > diff -r 4a4611239021 test/gfxdraw_test.py > --- a/test/gfxdraw_test.py Thu Jan 10 14:18:39 2013 +0000 > +++ b/test/gfxdraw_test.py Sun Jan 13 22:30:53 2013 +0100 > @@ -21,6 +21,12 @@ > import pygame.gfxdraw > from pygame.locals import * > > + > +class Frame(pygame.Surface,object): > + def __init__(self,x,y,w,h): > + pygame.Surface.__init__(self,(**w,h), SRCALPHA) > + > + > def intensity(c, i): > """Return color c changed by intensity i > > @@ -707,6 +713,11 @@ > self.check_at(surf, posn, bg_adjusted) > > > + def test_my(self): > + """ """ > + pygame.display.set_mode((500,**500)) > + fr = Frame(50,50,300,300) > + pygame.gfxdraw.box(fr,pygame.**Rect(0,0,50,50),pygame.Color('**red')) > > if __name__ == '__main__': > unittest.main() > > > >