[Author Prev][Author Next][Thread Prev][Thread Next][Author Index][Thread Index]

[pygame] Re: convert access violation



Thanks!

"There may be a bug in Pygame triggered when the newly converted image
is immediately deleted. (although that does not seem likely)"

That's exactly something like that I wanted to read: an explanation
(or the beginning). I hope that if a pyGame developper reads this,
maybe he/she will try to reproduce the bug. It's very easy to
reproduce: under Windows XP, install the package Python26 (with
numpy-1.4.1 (it's included I think)) then pygame-1.9.1. Then try to
run with my simple sprite example.

On 21 juil, 09:07, Peter Shinners <p...@xxxxxxxxxxxx> wrote:
> On 07/19/2010 01:12 AM, SurferIX wrote:
>
>
>
> > Hi!
>
> > I'm using pygame for the first time.
> > I've developped a game, everything works fine but one thing I can't
> > explain.
> > Using Windows, python 2.6, here's what I was doing:
>
> >   18 class Shape(pygame.sprite.Sprite):
> >   20     def __init__(self,width,height):
> >   21         pygame.sprite.Sprite.__init__(self)
> >   23         self.width = width
> >   24         self.height = height
> >   27         self.rect  = pygame.Rect(0, 0, 6*5*20, 6*5*20)
> >   28         self.image = pygame.Surface( (self.rect.width,
> > self.rect.height) )
> >   29         self.image.fill((255, 255, 255))
> >   30         self.image.convert()
>
> > the line #30 was *always* generating access violation.
> > I just added modified to:
> >   30         self.image = self.image.convert()
> > and now everything works fine.
>
> > But there shouldn''t have any problem at all with this simple line:
> >   30         self.image.convert()
> > even though it does nothing (well i guess it does nothing).
>
> > I'm not the kind of people who thinks "it works let's go on". I want
> > to understand why it didn't work before going further. Can someone
> > please explain me why this raised an Access Violation?
>
> I can't explain the access error. But you'll want line 30 to look like this.
>
>      self.image = self.image.convert()
>
> You may try changing the code and seeing if it still dies. There may be
> a bug in Pygame triggered when the newly converted image is immediately
> deleted. (although that does not seem likely)