#10016 LOW 1.5-sof: os109 -- Icon in Frame did not have session associated with it

Zarro Boogs per Child bugtracker at laptop.org
Tue Feb 9 02:13:47 EST 2010


#10016: os109 -- Icon in Frame did not have session associated with it
--------------------------------+-------------------------------------------
           Reporter:  mikus     |       Owner:  dsd                              
               Type:  defect    |      Status:  new                              
           Priority:  low       |   Milestone:  1.5-software-later               
          Component:  sugar     |     Version:  Development build as of this date
         Resolution:            |    Keywords:                                   
        Next_action:  diagnose  |    Verified:  0                                
Deployment_affected:            |   Blockedby:                                   
           Blocking:            |  
--------------------------------+-------------------------------------------

Comment(by Quozl):

 Replying to [comment:4 Quozl]:
 >  * once the activity startup is underway, the shell is informed through
 the window manager properties (more hand waving),

 Further detail on this:

  * ShellModel. _ _ init _ _ () connects to the ''window-opened'' signal of
 the screen, in order to be notified when windows are created on the X
 display,
  * ShellModel._window_opened_cb() is called when the launcher or the
 starting activity has created a window,
  * _window_opened_cb() obtains the activity ID from window properties, and
 populates _activities[] with the ID,
  * ShellModel.get_activity_by_id() searches _activities[].

 Therefore ShellModel.get_activity_by_id() will return false between the
 time the activity is launched and the launcher has opened a window.

 This race is facilitated by the design in combination with the
 asynchronous X protocol.

 The launcher will request a window through the connection it has with the
 X server, and the X server must be scheduled, must process the request,
 and must reply to interested clients before the shell process will be
 informed.  During this time the starting activity competes with the
 processes for CPU resource.

 On the other hand, the shell chose to resume the activity, so it should be
 possible for the code to keep track of the activity ID being launched and
 refuse the second click.  It must then remove the pending activity ID
 after the launch has completed; successfully or not.

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


More information about the Bugs mailing list