[Commits] mimeview.c 1.83.2.177 1.83.2.178 messageview.c 1.94.2.222 1.94.2.223

pawel at claws-mail.org pawel at claws-mail.org
Sun Nov 6 12:24:31 CET 2011


Update of /home/claws-mail/claws/src
In directory claws-mail:/tmp/cvs-serv13932/src

Modified Files:
      Tag: gtk2
	mimeview.c messageview.c 
Log Message:
2011-11-06 [pawel]	3.7.10cvs73

	* src/mimeview.c
	* src/messageview.c
		Optimize message displaying, in some conditions parts were
		displayed twice causing flickering. For example first html
		source and then rendering output from html plugin of the
		same part.

Index: messageview.c
===================================================================
RCS file: /home/claws-mail/claws/src/messageview.c,v
retrieving revision 1.94.2.222
retrieving revision 1.94.2.223
diff -u -d -r1.94.2.222 -r1.94.2.223
--- messageview.c	31 Oct 2011 21:46:20 -0000	1.94.2.222
+++ messageview.c	6 Nov 2011 11:24:29 -0000	1.94.2.223
@@ -1131,7 +1131,7 @@
 {
 	gchar *text = NULL;
 	gchar *file;
-	MimeInfo *mimeinfo, *encinfo, *brokeninfo;
+	MimeInfo *mimeinfo, *encinfo, *brokeninfo, *root;
 	gchar *subject = NULL;
 	cm_return_val_if_fail(msginfo != NULL, -1);
 
@@ -1310,6 +1310,7 @@
 		noticeview_show(messageview->noticeview);
 	}
 			
+	root = mimeinfo;
 	mimeinfo = procmime_mimeinfo_next(mimeinfo);
 	if (!all_headers && mimeinfo 
 			&& (mimeinfo->type != MIMETYPE_TEXT || 
@@ -1381,7 +1382,8 @@
 			if (!mimeinfo) 
 				mimeinfo = saved_mimeinfo;
 
-			mimeview_show_part(messageview->mimeview,mimeinfo);
+			if (!mimeview_show_part(messageview->mimeview, mimeinfo))
+				mimeview_select_mimepart_icon(messageview->mimeview, root);
 			goto done;
 		} else if (prefs_common.invoke_plugin_on_html) {
 			mimeview_select_mimepart_icon(messageview->mimeview, mimeinfo);
@@ -1401,6 +1403,8 @@
 			mimeinfo = procmime_mimeinfo_next(mimeinfo);
 		}
 	}
+
+	mimeview_select_mimepart_icon(messageview->mimeview, root);
 done:
 	/* plugins may hook in here to work with the message view */
 	hooks_invoke(MESSAGE_VIEW_SHOW_DONE_HOOKLIST, messageview);

Index: mimeview.c
===================================================================
RCS file: /home/claws-mail/claws/src/mimeview.c,v
retrieving revision 1.83.2.177
retrieving revision 1.83.2.178
diff -u -d -r1.83.2.177 -r1.83.2.178
--- mimeview.c	31 Oct 2011 21:46:20 -0000	1.83.2.177
+++ mimeview.c	6 Nov 2011 11:24:29 -0000	1.83.2.178
@@ -495,17 +495,9 @@
 	mimeview_set_multipart_tree(mimeview, mimeinfo, NULL);
 	icon_list_clear(mimeview);
 	icon_list_create(mimeview, mimeinfo);
-
+	
 	g_signal_handlers_unblock_by_func(G_OBJECT(ctree),
 					  mimeview_selected, mimeview);
-
-	node = GTK_CMCTREE_NODE(GTK_CMCLIST(ctree)->row_list);
-	if (node) {
-		gtk_cmctree_select(ctree, node);
-		icon_list_toggle_by_mime_info
-			(mimeview, gtk_cmctree_node_get_row_data(ctree, node));
-		gtkut_ctree_set_focus_row(ctree, node);
-	}
 }
 
 #ifdef USE_PTHREAD
@@ -791,10 +783,10 @@
 	if (mimeview->mimeviewer != NULL)
 		mimeview->mimeviewer->clear_viewer(mimeview->mimeviewer);
 
-	if (mimeview->mimeviewer != viewer) {
+	if (mimeview->mimeviewer != viewer)
 		mimeview->mimeviewer = viewer;
-		mimeview_change_view_type(mimeview, MIMEVIEW_VIEWER);
-	}
+
+	mimeview_change_view_type(mimeview, MIMEVIEW_VIEWER);
 	viewer->mimeview = mimeview;
 	viewer->show_mimepart(viewer, mimeview->file, partinfo);
 



More information about the Commits mailing list