diff options
-rw-r--r-- | mail/ChangeLog | 5 | ||||
-rw-r--r-- | mail/mail-ops.c | 10 |
2 files changed, 13 insertions, 2 deletions
diff --git a/mail/ChangeLog b/mail/ChangeLog index 9231462e4d..54c1619c4e 100644 --- a/mail/ChangeLog +++ b/mail/ChangeLog @@ -1,5 +1,10 @@ 2001-09-04 Jeffrey Stedfast <fejj@ximian.com> + * mail-ops.c (fetch_mail_fetch): Unref the source folder here + because it might be a POP folder. We do this because on store + finalize, we now try to disconnect cleanly which means that we may + block. + * mail-send-recv.c (build_dialogue): Fix capitalization. Fixes bug #7486. diff --git a/mail/mail-ops.c b/mail/mail-ops.c index eeaf6d8b0b..ba5b7ceb8a 100644 --- a/mail/mail-ops.c +++ b/mail/mail-ops.c @@ -312,6 +312,12 @@ fetch_mail_fetch (struct _mail_msg *mm) } else { filter_folder_filter (mm); } + + /* we unref the source folder here since we + may now block in finalize (we try to + disconnect cleanly) */ + camel_object_unref (CAMEL_OBJECT (fm->source_folder)); + fm->source_folder = NULL; } } @@ -321,8 +327,8 @@ fetch_mail_fetch (struct _mail_msg *mm) /* we unref this here as it may have more work to do (syncing folders and whatnot) before we are really done */ /* should this be cancellable too? (i.e. above unregister above) */ - camel_object_unref ((CamelObject *)m->fmsg.driver); - m->fmsg.driver = NULL; + camel_object_unref (CAMEL_OBJECT (fm->driver)); + fm->driver = NULL; } static void |