[Butia-devel-list] The layer problem

Alan Jhonn Aguiar Schwyn alanjas en hotmail.com
Mar Mar 20 18:51:02 UYT 2012



I make some test..
I make a for to get the complete list of sprites..
    def set_layer(self, layer=None):        ''' Set the layer for a sprite '''        self._sprites.remove_from_list(self)        if layer is not None:            self.layer = layer
        # print all sprites list        print 'list:'        for i in range(self._sprites.length_of_list()):            a = self._sprites.get_sprite(i)            print 'sprite', a
        for i in range(self._sprites.length_of_list()):            a = self._sprites.get_sprite(i)            if layer < a.layer:                self._sprites.insert_in_list(self, i)                self.inval()                return        self._sprites.append_to_list(self)        self.inval()
With this, I corroborate that in a few cases, the list have None sprites:
list:sprite <TurtleArt.sprites.Sprite instance at 0x91d586c>sprite <TurtleArt.sprites.Sprite instance at 0x98d4fec>sprite <TurtleArt.sprites.Sprite instance at 0x98d8a2c>sprite <TurtleArt.sprites.Sprite instance at 0x98d8ccc>sprite <TurtleArt.sprites.Sprite instance at 0x98da14c>sprite <TurtleArt.sprites.Sprite instance at 0x98da54c>sprite <TurtleArt.sprites.Sprite instance at 0x98da9ec>sprite <TurtleArt.sprites.Sprite instance at 0x98dadac>sprite <TurtleArt.sprites.Sprite instance at 0x98de22c>sprite <TurtleArt.sprites.Sprite instance at 0x98de5ec>sprite <TurtleArt.sprites.Sprite instance at 0x98de9ec>sprite <TurtleArt.sprites.Sprite instance at 0x98dee2c>sprite <TurtleArt.sprites.Sprite instance at 0x9d2e2ac>sprite <TurtleArt.sprites.Sprite instance at 0x9d2e66c>sprite <TurtleArt.sprites.Sprite instance at 0x9d2ea2c>sprite <TurtleArt.sprites.Sprite instance at 0x9d2ee2c>sprite <TurtleArt.sprites.Sprite instance at 0x9d3228c>sprite <TurtleArt.sprites.Sprite instance at 0x9d326ec>sprite <TurtleArt.sprites.Sprite instance at 0x9d32aac>sprite <TurtleArt.sprites.Sprite instance at 0xa0d5d4c>sprite <TurtleArt.sprites.Sprite instance at 0x98cc1ec>sprite <TurtleArt.sprites.Sprite instance at 0x98cc52c>sprite <TurtleArt.sprites.Sprite instance at 0xa0d274c>sprite <TurtleArt.sprites.Sprite instance at 0xa0d2acc>sprite <TurtleArt.sprites.Sprite instance at 0xa0d2e6c>sprite <TurtleArt.sprites.Sprite instance at 0xa0d524c>sprite <TurtleArt.sprites.Sprite instance at 0xa0d562c>sprite <TurtleArt.sprites.Sprite instance at 0xa0d5a8c>sprite <TurtleArt.sprites.Sprite instance at 0xa0cf0ac>sprite <TurtleArt.sprites.Sprite instance at 0xa0cf46c>sprite <TurtleArt.sprites.Sprite instance at 0xa0cf82c>sprite <TurtleArt.sprites.Sprite instance at 0xa0cfbec>sprite <TurtleArt.sprites.Sprite instance at 0xa0d52ac>sprite <TurtleArt.sprites.Sprite instance at 0x9d5542c>sprite <TurtleArt.sprites.Sprite instance at 0x9d5578c>sprite <TurtleArt.sprites.Sprite instance at 0x9d55b2c>sprite <TurtleArt.sprites.Sprite instance at 0x9d55f8c>sprite <TurtleArt.sprites.Sprite instance at 0x9d583ac>sprite <TurtleArt.sprites.Sprite instance at 0x9d587ec>sprite <TurtleArt.sprites.Sprite instance at 0x9d58bcc>sprite <TurtleArt.sprites.Sprite instance at 0x9d58fcc>sprite <TurtleArt.sprites.Sprite instance at 0x9d5b44c>sprite <TurtleArt.sprites.Sprite instance at 0x9d5b84c>sprite <TurtleArt.sprites.Sprite instance at 0x9d5bcac>sprite Nonesprite Nonesprite Nonesprite Nonesprite Nonelist:sprite <TurtleArt.sprites.Sprite instance at 0x91d586c>....
Attach the part of the logs...
For solve the problem, attach a patch that only check for the None sprites..
The question is: why are None sprites in that list?
Who insert the sprites in the list?
Regards!
Alan
> Date: Tue, 20 Mar 2012 07:11:50 -0400
> Subject: Re: The layer problem
> From: walter.bender en gmail.com
> To: alanjas en hotmail.com
> CC: butia-devel-l en fing.edu.uy
> 
> On Mon, Mar 19, 2012 at 11:27 PM, Alan Jhonn Aguiar Schwyn
> <alanjas en hotmail.com> wrote:
> >
> > Hi,
> >
> > This problem.. you can reproduce it?
> 
> I'll try again.
> 
> -walter
> 
> >
> > Traceback (most recent call last):
> >   File "/usr/lib/python2.7/threading.py", line 530, in __bootstrap_inner
> >     self.run()
> >   File "/usr/lib/python2.7/threading.py", line 734, in run
> >     self.function(*self.args, **self.kwargs)
> >   File "/home/olpc/Activities/TurtleBots.activity/plugins/butia/butia.py",
> > line 674, in bobot_poll
> >     self.check_for_device_change()
> >   File "/home/olpc/Activities/TurtleBots.activity/plugins/butia/butia.py",
> > line 482, in check_for_device_change
> >     self.change_butia_palette_colors()
> >   File "/home/olpc/Activities/TurtleBots.activity/plugins/butia/butia.py",
> > line 462, in change_butia_palette_colors
> >     self.tw.show_toolbar_palette(palette_name_to_index('butia'),
> > regenerate=True, show=False)
> >   File "/home/olpc/Activities/TurtleBots.activity/TurtleArt/tawindow.py",
> > line 753, in show_toolbar_palette
> >     self._create_proto_blocks(n)
> >   File "/home/olpc/Activities/TurtleBots.activity/TurtleArt/tawindow.py",
> > line 874, in _create_proto_blocks
> >     self.palettes[n][-1].spr.set_layer(PROTO_LAYER)
> >   File "/home/olpc/Activities/TurtleBots.activity/TurtleArt/sprites.py",
> > line 258, in set_layer
> >     if layer < self._sprites.get_sprite(i).layer:
> > AttributeError: 'NoneType' object has no attribute 'layer'
> >
> > I have it in new sugar (0.94.1).. in the old LATU's image (0.88.1) no...
> >
> > The latest build.. http://www.fing.edu.uy/~aaguiar/files/TurtleBots-7.xo
> >
> > Regards!
> >
> > Alan
> 
> 
> 
> -- 
> Walter Bender
> Sugar Labs
> http://www.sugarlabs.org
 		 	   		  
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: https://www.fing.edu.uy/mailman/private/butia-devel-l/attachments/20120320/0fd06e82/attachment.html" 
------------ próxima parte ------------
Se ha borrado un mensaje que no está en formato texto plano...
Nombre     : 0001-validate-None-sprite-in-set_sprite.patch
Tipo       : text/x-patch
Tamaño     : 1092 bytes
Descripción: no disponible
Url        : https://www.fing.edu.uy/mailman/private/butia-devel-l/attachments/20120320/0fd06e82/attachment.bin 
------------ próxima parte ------------
Se ha borrado un mensaje que no está en formato texto plano...
Nombre     : org.laptop.TurtleArtButia-9.log
Tipo       : text/x-log
Tamaño     : 50039 bytes
Descripción: no disponible
Url        : https://www.fing.edu.uy/mailman/private/butia-devel-l/attachments/20120320/0fd06e82/attachment-0001.bin 


Más información sobre la lista de distribución Butia-devel-l