Factorize to make clearer
[claws.git] / src / textview.c
index e5cdb66b9967f187f945a3df4cd94c86ac3e5f46..d10485ddb3e9ae52cd7ec88d69173085498c5e12 100644 (file)
@@ -631,34 +631,28 @@ void textview_show_part(TextView *textview, MimeInfo *mimeinfo, FILE *fp)
        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();
 }