On Wed, Sep 16, 2009 at 3:15 PM, Peter Chant <[email protected]> wrote:
> On Wednesday 16 September 2009, René Dudfield wrote: > > I guess the next step is to try and put print debugging in. > > > > You start by putting a few print statements in, and see where it gets > > up to. Then you refine until you get really close to it... doing a > > binary search of your source until you find the place/places that make > > it crash. > > > > D'oh so obvious. What I regularly do whilst developing things, but not > when > bugs suddenly appear. > > FOUND IT! > self.screen.blit(clear,(0,0)) > > > - look for the exclamation marks > > def clearScreen(self): > print "In clearScreen" > print "About to call pygame.display_get_surface()" > clear = pygame.display.get_surface() > print "About to fill surface to clear it" > clear.fill((0,0,0)) > print "About to self.screen.blit - !!!! this crashes" > self.screen.blit(clear,(0,0)) > print "just blitted - !!!!! does not get to here" > > > self.screen is initialised by the output of another class. > self.screen = h.screen > > in class h > > self.screen=pygame.display.get_surface() > > > Only fails on 32 bit Slack 13.0. > > > > -- > Peter Chant > <http://www.petezilla.co.uk> so functionally surf = pygame.dispay.get_surface() surf.fill((0,0,0)) surf.blit(surf,(0,0)) fails. >From your app point of view, the blit line is superfluous. your code will be def clearScreen(self): self.screen.fill((0,0,0)) >From the pygame point of view, there is a possible bug, there is a bug: it should work or it should raise some meaningful error. -- claxo
