[sugar] [PATCH 2/6] Implement API to handle tabbing.

Benjamin Berg benjamin at sipsolutions.net
Fri Jun 20 09:04:12 EDT 2008


On Fri, 2008-06-20 at 11:19 +0200, Marco Pesenti Gritti wrote:
> On Thu, Jun 19, 2008 at 9:08 PM, Benjamin Berg
> <benjamin at sipsolutions.net> wrote:
> > +    def tabbing_activate_current(self):
> > +        home_model = self._model.get_home()
> > +        activity = home_model.get_active_activity()
> > +        if activity and activity.get_window():
> > +            activity.get_window().activate(1)
> 
> Do we get a window_changed even in the model even if the window has
> really been activated during the tabbing?

Yes. Because of this the model needs to ignore window changes during
tabbing. If the window changes were not ignored, a race condition
exists:
 - User tabs
 - Timeout to activate the window fires
 - User tabs
 - Window is raised a bit later
 - The homemodel emits active-activity-changed

And in the end the wrong button is selected in the activities tray (for
1/4 of a second).

Benjamin


-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 197 bytes
Desc: This is a digitally signed message part
Url : http://lists.laptop.org/pipermail/sugar/attachments/20080620/41c3922f/attachment.pgp 


More information about the Sugar mailing list