diff options
author | Tomeu Vizoso <tomeu@tomeuvizoso.net> | 2007-07-20 17:50:49 (GMT) |
---|---|---|
committer | Tomeu Vizoso <tomeu@tomeuvizoso.net> | 2007-07-20 17:50:49 (GMT) |
commit | cb6d459815e2e1407a2f93c8c7d3406183369d5e (patch) | |
tree | 027661e5429d9d0745abe1a2c6a407046b6d5a24 /shell/view/Shell.py | |
parent | 9ce80ca95870d27faeb9408a23c8c1f8eaf9d10a (diff) |
Fix some temp file leaks.
Diffstat (limited to 'shell/view/Shell.py')
-rw-r--r-- | shell/view/Shell.py | 26 |
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) |