Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
path: root/shell/view/Shell.py
diff options
context:
space:
mode:
authorTomeu Vizoso <tomeu@tomeuvizoso.net>2007-07-20 17:50:49 (GMT)
committer Tomeu Vizoso <tomeu@tomeuvizoso.net>2007-07-20 17:50:49 (GMT)
commitcb6d459815e2e1407a2f93c8c7d3406183369d5e (patch)
tree027661e5429d9d0745abe1a2c6a407046b6d5a24 /shell/view/Shell.py
parent9ce80ca95870d27faeb9408a23c8c1f8eaf9d10a (diff)
Fix some temp file leaks.
Diffstat (limited to 'shell/view/Shell.py')
-rw-r--r--shell/view/Shell.py26
1 files changed, 16 insertions, 10 deletions
diff --git a/shell/view/Shell.py b/shell/view/Shell.py
index 7c7d749..777c10c 100644
--- a/shell/view/Shell.py
+++ b/shell/view/Shell.py
@@ -197,14 +197,20 @@ class Shell(gobject.GObject):
screenshot.get_from_drawable(window, window.get_colormap(), x_orig, y_orig, 0, 0,
width, height)
screenshot.save(file_path, "png")
-
- jobject = datastore.create()
- jobject.metadata['title'] = _('Screenshot')
- jobject.metadata['keep'] = '0'
- jobject.metadata['buddies'] = ''
- jobject.metadata['preview'] = ''
- jobject.metadata['icon-color'] = profile.get_color().to_string()
- jobject.metadata['mime_type'] = 'image/png'
- jobject.file_path = file_path
- datastore.write(jobject)
+ try:
+ jobject = datastore.create()
+ try:
+ jobject.metadata['title'] = _('Screenshot')
+ jobject.metadata['keep'] = '0'
+ jobject.metadata['buddies'] = ''
+ jobject.metadata['preview'] = ''
+ jobject.metadata['icon-color'] = profile.get_color().to_string()
+ jobject.metadata['mime_type'] = 'image/png'
+ jobject.file_path = file_path
+ datastore.write(jobject)
+ finally:
+ datastore.destroy()
+ del datastore
+ finally:
+ os.remove(file_path)