#203 closed defect (fixed)
traceback on accepting invitation
Reported by: | sascha_silbe | Owned by: | marcopg |
---|---|---|---|
Priority: | minor | Milestone: | |
Component: | Sugar | Version: | 0.82.x |
Severity: | Minor | Keywords: | |
Cc: | Distribution/OS: | Debian | |
Bug Status: | New |
Description
Priority set to minor because there's no apparent effect except for the traceback itself.
Also filed as Debian bug #511894 [1].
[1] http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=511894
Upon accepting an invitation, the following traceback will occur (on the machine accepting the invitation):
Traceback (most recent call last):
File "/usr/lib/python2.5/site-packages/sugar/graphics/animator.py", line 66, in _next_frame_cb
animation.do_frame(current_time, self._duration, self._easing)
File "/usr/lib/python2.5/site-packages/sugar/graphics/animator.py", line 92, in do_frame
self.next_frame(frame)
File "/usr/lib/python2.5/site-packages/sugar/graphics/palette.py", line 728, in next_frame
self._palette._hide()
File "/usr/lib/python2.5/site-packages/sugar/graphics/palette.py", line 564, in _hide
self.menu.set_active(False)
AttributeError: 'NoneType' object has no attribute 'set_active'
This seems to be due to calling _hide again after destroy_cb. Custom debugging output, filtered on the instance the traceback occured on:
init: self = <ActivityInvitePalette object at 0x9c296e4 (SugarPalette at 0xa01c2e0)>, self.menu = <_Menu object at 0x9c29acc (SugarPaletteMenu at 0xa027210)>
_hide: self = <ActivityInvitePalette object at 0x9c296e4 (SugarPalette at 0xa01c2e0)>, self.menu = <_Menu object at 0x9c29acc (SugarPaletteMenu at 0xa027210)>
destroy_cb: self = <ActivityInvitePalette object at 0x9c296e4 (SugarPalette at 0xa01c2e0)>, self.menu = None
_hide: self = <ActivityInvitePalette object at 0x9c296e4 (SugarPalette at 0xa01c2e0)>, self.menu = None
Stack trace from the destroy_cb call:
File "/usr/bin/sugar-shell", line 32, in <module>
main()
File "/usr/share/sugar/shell/main.py", line 151, in main
gtk.main()
File "/usr/share/sugar/shell/view/frame/activitiestray.py", line 364, in invite_clicked_cb
self._invites.remove_invite(invite)
File "/usr/share/sugar/shell/model/Invites.py", line 103, in remove_invite
self.emit('invite-removed', invite)
File "/usr/share/sugar/shell/view/frame/activitiestray.py", line 372, in invite_removed_cb
self._remove_invite(invite)
File "/usr/share/sugar/shell/view/frame/activitiestray.py", line 392, in _remove_invite
self._invite_to_item[invite].destroy()
File "/usr/lib/python2.5/site-packages/sugar/graphics/toolbutton.py", line 75, in destroy_cb
self._palette_invoker.detach()
File "/usr/lib/python2.5/site-packages/sugar/graphics/palette.py", line 975, in detach
Invoker.detach(self)
File "/usr/lib/python2.5/site-packages/sugar/graphics/palette.py", line 772, in detach
self._palette.destroy()
File "/usr/lib/python2.5/site-packages/sugar/graphics/palette.py", line 284, in destroy_cb
traceback.print_stack()
The self._palette._hide() call belongs to _PopdownAnimation:
class _PopdownAnimation(animator.Animation):
def init(self, palette):
animator.Animation.init(self, 0.0, 1.0)
self._palette = palette
def next_frame(self, current):
if current == 1.0:
self._palette._hide()
Looks like this animation object should be destroyed as well when removing the invitation.
Change History (5)
comment:1 Changed 14 years ago by marcopg
- Bug Status set to Unconfimed
- Distribution/OS set to Unspecified
- Milestone set to 0.84
- Severity set to Minor
comment:2 Changed 14 years ago by garycmartin
- Bug Status changed from Unconfimed to New
- Distribution/OS changed from Unspecified to Debian
comment:3 Changed 14 years ago by tomeu
comment:4 Changed 10 years ago by godiard
- Resolution set to fixed
- Status changed from new to closed
I think Aleksey fixed this one recently, can someone check?