aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJeffrey Stedfast <fejj@ximian.com>2001-09-05 05:32:57 +0800
committerJeffrey Stedfast <fejj@src.gnome.org>2001-09-05 05:32:57 +0800
commitca52e80ea86b2d7b542c9a5d825edd91d627f837 (patch)
treef0fa4590866005e515e6f324b165ba041f262246
parentb76d2415d6d7e2f9cbc2880ee4948b37fa469255 (diff)
downloadgsoc2013-evolution-ca52e80ea86b2d7b542c9a5d825edd91d627f837.tar.gz
gsoc2013-evolution-ca52e80ea86b2d7b542c9a5d825edd91d627f837.tar.zst
gsoc2013-evolution-ca52e80ea86b2d7b542c9a5d825edd91d627f837.zip
Unref the source folder here because it might be a POP folder. We do this
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. svn path=/trunk/; revision=12602
-rw-r--r--mail/ChangeLog5
-rw-r--r--mail/mail-ops.c10
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