2011-11-06 [pawel] 3.7.10cvs73
authorPaweł Pękala <c0rn@gazeta.pl>
Sun, 6 Nov 2011 11:24:30 +0000 (11:24 +0000)
committerPaweł Pękala <c0rn@gazeta.pl>
Sun, 6 Nov 2011 11:24:30 +0000 (11:24 +0000)
* 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.

ChangeLog
PATCHSETS
configure.ac
src/messageview.c
src/mimeview.c

index d7bc1e1..86d2495 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,12 @@
+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
index 0990445..fa93593 100644 (file)
--- a/PATCHSETS
+++ b/PATCHSETS
 ( 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
index a41ee54..ab7de4b 100644 (file)
@@ -12,7 +12,7 @@ MINOR_VERSION=7
 MICRO_VERSION=10
 INTERFACE_AGE=0
 BINARY_AGE=0
-EXTRA_VERSION=72
+EXTRA_VERSION=73
 EXTRA_RELEASE=
 EXTRA_GTK2_VERSION=
 
index 6e94f5e..5fafedb 100644 (file)
@@ -1131,7 +1131,7 @@ gint messageview_show(MessageView *messageview, MsgInfo *msginfo,
 {
        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 @@ gint messageview_show(MessageView *messageview, MsgInfo *msginfo,
                noticeview_show(messageview->noticeview);
        }
                        
+       root = mimeinfo;
        mimeinfo = procmime_mimeinfo_next(mimeinfo);
        if (!all_headers && mimeinfo 
                        && (mimeinfo->type != MIMETYPE_TEXT || 
@@ -1381,7 +1382,8 @@ gint messageview_show(MessageView *messageview, MsgInfo *msginfo,
                        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 @@ gint messageview_show(MessageView *messageview, MsgInfo *msginfo,
                        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 57688f5..50e6bf3 100644 (file)
@@ -495,17 +495,9 @@ void mimeview_show_message(MimeView *mimeview, MimeInfo *mimeinfo,
        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 @@ gboolean mimeview_show_part(MimeView *mimeview, MimeInfo *partinfo)
        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);