cm_return_if_fail(mimeinfo != NULL);
cm_return_if_fail(fp != NULL);
- if ((mimeinfo->type == MIMETYPE_MULTIPART) ||
- ((mimeinfo->type == MIMETYPE_MESSAGE) && !g_ascii_strcasecmp(mimeinfo->subtype, "rfc822"))) {
- textview->loading = TRUE;
- textview->stop_loading = FALSE;
-
- textview_clear(textview);
- textview_add_parts(textview, mimeinfo);
-
- textview->loading = FALSE;
- textview->stop_loading = FALSE;
- END_TIMING();
- return;
- }
textview->loading = TRUE;
textview->stop_loading = FALSE;
- if (fseek(fp, mimeinfo->offset, SEEK_SET) < 0)
- perror("fseek");
-
textview_clear(textview);
- if (mimeinfo->type == MIMETYPE_MULTIPART)
+ if ((mimeinfo->type == MIMETYPE_MULTIPART) ||
+ ((mimeinfo->type == MIMETYPE_MESSAGE) && !g_ascii_strcasecmp(mimeinfo->subtype, "rfc822"))) {
textview_add_parts(textview, mimeinfo);
- else
- textview_write_body(textview, mimeinfo);
+ } else {
+ if (fseek(fp, mimeinfo->offset, SEEK_SET) < 0)
+ perror("fseek");
+
+ if (mimeinfo->type == MIMETYPE_MULTIPART)
+ textview_add_parts(textview, mimeinfo);
+ else
+ textview_write_body(textview, mimeinfo);
+ }
textview->loading = FALSE;
textview->stop_loading = FALSE;
+ textview_set_position(textview, 0);
+
END_TIMING();
}