#7876 HIGH 8.2.0 (: Double clicking an activity in the home ring causes 2 instances to launch

Zarro Boogs per Child bugtracker at laptop.org
Wed Aug 20 14:23:36 EDT 2008


#7876: Double clicking an activity in the home ring causes 2 instances to launch
---------------------------+------------------------------------------------
   Reporter:  garycmartin  |       Owner:  tomeu                            
       Type:  defect       |      Status:  new                              
   Priority:  high         |   Milestone:  8.2.0 (was Update.2)             
  Component:  sugar        |     Version:  Development build as of this date
 Resolution:               |    Keywords:  blocks?:8.2.0 polish:8.2 r+      
Next_action:  diagnose     |    Verified:  0                                
  Blockedby:               |    Blocking:                                   
---------------------------+------------------------------------------------

Comment(by garycmartin):

 I thought I'd take a stab and try a different approach that stops the icon
 accepting clicks, however it exhibits the same issue as tomeu's patches
 and requires a ~4000ms delay, so I post it here incase it helps clarify
 what is happening for someone else. Sorry it's not in real patch format, I
 haven't mastered that foo bar ninja move yet (and I'm just working on a
 live XO set of source, rubber keyboard and all – future kid dev style):

 {{{
 /usr/share/sugar/shell/view/home/favoritesview.py
 314         self._activity_info = activity_info
 315         self._uncolor()
 316         self.connect('hovering-changed',
 self.__hovering_changed_event_cb)
     -       self.connect('button-release-event',
 self.__button_release_event_cb)
 317 +        self.__connect_button()
 318
 319     def create_palette(self):
 320         palette = ActivityPalette(self._activity_info)
 ...
 340     def __button_release_event_cb(self, icon, event):
 341         self.palette.popdown(immediate=True)
 342         self._uncolor()
 343
 view.Shell.get_instance().start_activity(self._activity_info.bundle_id)
 344 +       self.disconnect(self._release_handler_id)
 345 +       gobject.timeout_add(4000, self.__connect_button)
 346
 347 +   def __connect_button(self):
 348 +       self._release_handler_id = self.connect('button-release-
 event',
 349 +
 self.__button_release_event_cb)
 }}}

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


More information about the Bugs mailing list