+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.
+
2011-11-05 [wwp] 3.7.10cvs72
* src/gtk/gtkaspell.c
( cvs diff -u -r 1.9.2.74 -r 1.9.2.75 src/gtk/gtkaspell.c; ) > 3.7.10cvs70.patchset
( cvs diff -u -r 1.9.2.75 -r 1.9.2.76 src/gtk/gtkaspell.c; ) > 3.7.10cvs71.patchset
( cvs diff -u -r 1.9.2.76 -r 1.9.2.77 src/gtk/gtkaspell.c; ) > 3.7.10cvs72.patchset
+( cvs diff -u -r 1.83.2.177 -r 1.83.2.178 src/mimeview.c; cvs diff -u -r 1.94.2.222 -r 1.94.2.223 src/messageview.c; ) > 3.7.10cvs73.patchset
MICRO_VERSION=10
INTERFACE_AGE=0
BINARY_AGE=0
-EXTRA_VERSION=72
+EXTRA_VERSION=73
EXTRA_RELEASE=
EXTRA_GTK2_VERSION=
{
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);
noticeview_show(messageview->noticeview);
}
+ root = mimeinfo;
mimeinfo = procmime_mimeinfo_next(mimeinfo);
if (!all_headers && mimeinfo
&& (mimeinfo->type != MIMETYPE_TEXT ||
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);
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);
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
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);