Opened 12 years ago

Closed 8 years ago

Last modified 8 years ago

#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 12 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 12 years ago by garycmartin

  • Bug Status changed from Unconfimed to New
  • Distribution/OS changed from Unspecified to Debian

comment:3 Changed 12 years ago by tomeu

I think Aleksey fixed this one recently, can someone check?

comment:4 Changed 8 years ago by godiard

  • Resolution set to fixed
  • Status changed from new to closed

comment:5 Changed 8 years ago by godiard

  • Milestone 0.84 deleted

Milestone 0.84 deleted

Note: See TracTickets for help on using tickets.