diff options
author | Marco Pesenti Gritti <marco@localhost.localdomain> | 2006-10-17 12:51:20 (GMT) |
---|---|---|
committer | Marco Pesenti Gritti <marco@localhost.localdomain> | 2006-10-17 12:51:20 (GMT) |
commit | 96867a37bf544fa78fa3783fd5ae50ded6fd32ec (patch) | |
tree | 65b33f4745346e663a06c68488749bcdb411ba9f /sugar/activity | |
parent | 84a2dfac318713c763fb8f4c41cb66d0852410db (diff) |
Fix browser initialization
Diffstat (limited to 'sugar/activity')
-rw-r--r-- | sugar/activity/ActivityFactory.py | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/sugar/activity/ActivityFactory.py b/sugar/activity/ActivityFactory.py index 6810f2e..e20c217 100644 --- a/sugar/activity/ActivityFactory.py +++ b/sugar/activity/ActivityFactory.py @@ -51,7 +51,8 @@ class ActivityFactory(dbus.service.Object): if hasattr(module, 'start'): module.start() - self._class = getattr(module, class_name) + self._module = module + self._constructor = getattr(module, class_name) bus = dbus.SessionBus() factory = _get_factory(activity_type) @@ -60,7 +61,7 @@ class ActivityFactory(dbus.service.Object): @dbus.service.method("com.redhat.Sugar.ActivityFactory") def create(self): - activity = self._class() + activity = self._constructor() activity.set_type(self._activity_type) self._activities.append(activity) @@ -70,6 +71,10 @@ class ActivityFactory(dbus.service.Object): def _activity_destroy_cb(self, activity): self._activities.remove(activity) + + if hasattr(self._module, 'stop'): + self._module.stop() + if len(self._activities) == 0: gtk.main_quit() |