Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
path: root/sugar
diff options
context:
space:
mode:
authorMarco Pesenti Gritti <marco@localhost.localdomain>2007-06-19 13:51:56 (GMT)
committer Marco Pesenti Gritti <marco@localhost.localdomain>2007-06-19 13:51:56 (GMT)
commit737a8b3932524cfe233ba81e13f023c690ea4b98 (patch)
treed4f7ce9dfc8c5c65006a11ea4e02cac47dc6f553 /sugar
parente021bb271ccbda54f5d24e26b8f017f4c7bc4b5f (diff)
Cleanup activity closing
Diffstat (limited to 'sugar')
-rw-r--r--sugar/activity/activity.py19
1 files changed, 8 insertions, 11 deletions
diff --git a/sugar/activity/activity.py b/sugar/activity/activity.py
index 1d3e33e..5e5a3a5 100644
--- a/sugar/activity/activity.py
+++ b/sugar/activity/activity.py
@@ -84,6 +84,7 @@ class ActivityToolbar(gtk.Toolbar):
def _close_clicked_cb(self, button):
self._activity.close()
+ self._activity.destroy()
def _jobject_updated_cb(self, jobject):
self.title.set_text(jobject['title'])
@@ -182,8 +183,8 @@ class Activity(Window, gtk.Container):
"""
Window.__init__(self)
- self.connect('destroy', self._destroy_cb)
self.connect('realize', self._realize_cb)
+ self.connect('delete-event', self._delete_event_cb)
self._active = False
self._activity_id = handle.activity_id
@@ -349,22 +350,18 @@ class Activity(Window, gtk.Container):
wm.set_bundle_id(window.window, self.get_service_name())
wm.set_activity_id(window.window, self._activity_id)
- def _destroy_cb(self, window):
- """Destroys our ActivityService and sharing service"""
+ def _delete_event_cb(self, window, event):
+ self.close()
+ return False
+
+ def close(self):
if self._bus:
del self._bus
self._bus = None
if self._shared_activity:
self._shared_activity.leave()
- def close(self):
- if self._jobject:
- try:
- self.save()
- except:
- self.destroy()
- raise
- self.destroy()
+ self.save()
def get_metadata(self):
if self._jobject: