Thanks for the hints Daniel, 2013/8/3 Daniel Narvaez <dwnarv...@gmail.com>: > On 3 August 2013 02:26, Manuel Quiñones <ma...@laptop.org> wrote: >> >> >> The problem is: how could the activity process wait for the datastore >> write to finish? If the WnckWindow close is called [1], the activity >> process ends. Unless you connect a callback to 'delete-event' [2] and >> handle the destroy() yourself [3] . Which is what GTK activities do >> to store before closing. > > > The shell currently does > > activity.get_window().close() > > We could > > 1 Add a close method to Activity directly. That would emit a close signal > and call get_window().close() only if the signal didn't return True.
That's nice. I was trying to keep the patch as unaggressive as possible. Calling close() instead of get_window().close() implies changing a few files in shell, but I think that's OK. > 2 Apisocket would connect to that signal, send the stop notification to the > web activity and return True. > 3 On stop the activity would first save state, then call activity.close(). That should be only for web activities, so I'll need to let shell Activity know if it is a web activity or not. I've been trying to prevent that, but I don't see other option. > I think it would be possible to implement something like delete-event too, > but the implementation would be slightly more complicated (close becomes > async). And anyway, API wise, just letting the activity close() itself seems > cleaner to me. Yeah, I agree, and we don't need it now, unlike stop and pause that we need to handle the automatic storage. Let's not do premature optimization. Thanks for unblocking me, patch coming. -- .. manuq .. _______________________________________________ Sugar-devel mailing list Sugar-devel@lists.sugarlabs.org http://lists.sugarlabs.org/listinfo/sugar-devel