diff options
author | Suman Manjunath <msuman@src.gnome.org> | 2008-09-08 11:31:26 +0800 |
---|---|---|
committer | Suman Manjunath <msuman@src.gnome.org> | 2008-09-08 11:31:26 +0800 |
commit | 4e08f09a43af4d11e206f72728556b22382ced71 (patch) | |
tree | dcd34e0292411165a18c22c10087998e173c1c56 /plugins | |
parent | 623b6f47b058ce6ba374162c397d138a6f831a3d (diff) | |
download | gsoc2013-evolution-4e08f09a43af4d11e206f72728556b22382ced71.tar.gz gsoc2013-evolution-4e08f09a43af4d11e206f72728556b22382ced71.tar.zst gsoc2013-evolution-4e08f09a43af4d11e206f72728556b22382ced71.zip |
Patch from Paul Bolle <pebolle@tiscali.nl> ** Fixes bug #550415 (Fixes a memory leak of CamelFolderInfo).
svn path=/trunk/; revision=36274
Diffstat (limited to 'plugins')
-rw-r--r-- | plugins/mark-all-read/ChangeLog | 7 | ||||
-rw-r--r-- | plugins/mark-all-read/mark-all-read.c | 12 |
2 files changed, 13 insertions, 6 deletions
diff --git a/plugins/mark-all-read/ChangeLog b/plugins/mark-all-read/ChangeLog index f0cb153b75..c3d927f105 100644 --- a/plugins/mark-all-read/ChangeLog +++ b/plugins/mark-all-read/ChangeLog @@ -1,3 +1,10 @@ +2008-09-02 Paul Bolle <pebolle@tiscali.nl> + + ** Fixes bug #550415 + + * mark-all-read.c (mar_got_folder): Do not leak an CamelFolderInfo. + Slightly change handling of CamelException. + 2008-08-27 Sankar P <psankar@novell.com> License Changes diff --git a/plugins/mark-all-read/mark-all-read.c b/plugins/mark-all-read/mark-all-read.c index 3a1f9ef13a..c9ea67ca61 100644 --- a/plugins/mark-all-read/mark-all-read.c +++ b/plugins/mark-all-read/mark-all-read.c @@ -223,19 +223,17 @@ mar_got_folder (char *uri, CamelFolder *folder, void *data) gint response; guint32 flags = CAMEL_STORE_FOLDER_INFO_RECURSIVE | CAMEL_STORE_FOLDER_INFO_FAST; - camel_exception_init (&ex); - /* FIXME we have to disable the menu item */ if (!folder) return; + camel_exception_init (&ex); + store = folder->parent_store; info = camel_store_get_folder_info (store, folder->full_name, flags, &ex); - if (camel_exception_is_set (&ex)) { - camel_exception_clear (&ex); - return; - } + if (camel_exception_is_set (&ex)) + goto out; if (info && (info->child || info->next)) response = prompt_user (); @@ -246,6 +244,8 @@ mar_got_folder (char *uri, CamelFolder *folder, void *data) mark_all_as_read (folder); else if (response == GTK_RESPONSE_YES) mar_all_sub_folders (store, info, &ex); +out: + camel_store_free_folder_info(store, info); } static void |