#11201 NORM 11.3.0: Activity icon remains active on home screen

Zarro Boogs per Child bugtracker at laptop.org
Thu Sep 1 07:07:22 EDT 2011


#11201: Activity icon remains active on home screen
--------------------------------+-------------------------------------------
           Reporter:  bert      |       Owner:  erikos       
               Type:  defect    |      Status:  new          
           Priority:  normal    |   Milestone:  11.3.0       
          Component:  sugar     |     Version:  not specified
         Resolution:            |    Keywords:               
        Next_action:  diagnose  |    Verified:  0            
Deployment_affected:            |   Blockedby:               
           Blocking:            |  
--------------------------------+-------------------------------------------

Comment(by erikos):

 Yes, looks good:

 To be consistent with code in other places that does disconnect the
 handler I would recommend the following:

 {{{
 diff --git a/src/sugar/graphics/toolbarbox.py
 b/src/sugar/graphics/toolbarbox.py
 index 2f455f5..b90d41a 100644
 --- a/src/sugar/graphics/toolbarbox.py
 +++ b/src/sugar/graphics/toolbarbox.py
 @@ -30,13 +30,14 @@ class ToolbarButton(ToolButton):
          ToolButton.__init__(self, **kwargs)

          self.page_widget = None
 -
 +        self._hierarchy_changed_hid = None
          self.set_page(page)

          self.connect('clicked',
                  lambda widget: self.set_expanded(not self.is_expanded()))

 -        self.connect('hierarchy-changed', self.__hierarchy_changed_cb)
 +        self._hierarchy_changed_hid = self.connect('hierarchy-changed',
 +
 self.__hierarchy_changed_cb)

      def __hierarchy_changed_cb(self, tool_button, previous_toplevel):
          if hasattr(self.parent, 'owner'):
 @@ -122,6 +123,10 @@ class ToolbarButton(ToolButton):
          self.page_widget.parent.remove(self.page_widget)

      def do_expose_event(self, event):
 +        if self._hierarchy_changed_hid is not None:
 +            self.disconnect(self._hierarchy_changed_hid)
 +            self._hierarchy_changed_hid = None
 +
          if not self.is_expanded() or self.props.palette is not None and \
                  self.props.palette.is_up():
              ToolButton.do_expose_event(self, event)
 }}}

-- 
Ticket URL: <http://dev.laptop.org/ticket/11201#comment:3>
One Laptop Per Child <http://laptop.org/>
OLPC bug tracking system


More information about the Bugs mailing list