2011-10-31 [pawel] 3.7.10cvs64
authorPaweł Pękala <c0rn@gazeta.pl>
Mon, 31 Oct 2011 18:57:51 +0000 (18:57 +0000)
committerPaweł Pękala <c0rn@gazeta.pl>
Mon, 31 Oct 2011 18:57:51 +0000 (18:57 +0000)
* src/summaryview.c
* src/gtk/gtkutils.c
Fix bug #2303 'Next unread message enables message view'
Don't show previously hidden message view in main window
when user reads messages in external window

ChangeLog
PATCHSETS
configure.ac
src/gtk/gtkutils.c
src/summaryview.c

index 01feb1d..6da1730 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,11 @@
+2011-10-31 [pawel]     3.7.10cvs64
+
+       * src/summaryview.c
+       * src/gtk/gtkutils.c
+               Fix bug #2303 'Next unread message enables message view'
+               Don't show previously hidden message view in main window
+               when user reads messages in external window
+
 2011-10-31 [paul]      3.7.10cvs63
 
        * src/prefs_template.c
index c2bf4a2..bfc3ebc 100644 (file)
--- a/PATCHSETS
+++ b/PATCHSETS
 ( cvs diff -u -r 1.382.2.589 -r 1.382.2.590 src/compose.c;  ) > 3.7.10cvs61.patchset
 ( cvs diff -u -r 1.382.2.590 -r 1.382.2.591 src/compose.c;  ) > 3.7.10cvs62.patchset
 ( cvs diff -u -r 1.12.2.78 -r 1.12.2.79 src/prefs_template.c;  ) > 3.7.10cvs63.patchset
+( cvs diff -u -r 1.395.2.434 -r 1.395.2.435 src/summaryview.c;  cvs diff -u -r 1.5.2.100 -r 1.5.2.101 src/gtk/gtkutils.c;  ) > 3.7.10cvs64.patchset
index 46edffc..862415f 100644 (file)
@@ -12,7 +12,7 @@ MINOR_VERSION=7
 MICRO_VERSION=10
 INTERFACE_AGE=0
 BINARY_AGE=0
-EXTRA_VERSION=63
+EXTRA_VERSION=64
 EXTRA_RELEASE=
 EXTRA_GTK2_VERSION=
 
index 9daa14b..a71fe95 100644 (file)
@@ -532,6 +532,7 @@ void gtkut_text_view_set_position(GtkTextView *text, gint pos)
 {
        GtkTextBuffer *buffer;
        GtkTextIter iter;
+       GtkTextMark *mark;
 
        cm_return_if_fail(text != NULL);
 
@@ -539,7 +540,8 @@ void gtkut_text_view_set_position(GtkTextView *text, gint pos)
 
        gtk_text_buffer_get_iter_at_offset(buffer, &iter, pos);
        gtk_text_buffer_place_cursor(buffer, &iter);
-       gtk_text_view_scroll_to_iter(text, &iter, 0.0, FALSE, 0.0, 0.0);
+       mark = gtk_text_buffer_create_mark(buffer, NULL, &iter, TRUE);
+       gtk_text_view_scroll_to_mark(text, mark, 0.0, FALSE, 0.0, 0.0);
 }
 
 gboolean gtkut_text_view_search_string(GtkTextView *text, const gchar *str,
index a8ac1e7..aa5b39a 100644 (file)
@@ -3426,7 +3426,8 @@ static void summary_display_msg_full(SummaryView *summaryview,
        gint val;
        START_TIMING("");
        if (!new_window) {
-               if (summaryview->displayed == row)
+               if (summaryview->displayed == row &&
+                   messageview_is_visible(summaryview->messageview))
                        return;
                else if (summaryview->messageview)
                        summaryview->messageview->filtered = FALSE;
@@ -3473,7 +3474,8 @@ static void summary_display_msg_full(SummaryView *summaryview,
                        msgview = summaryview->messageview;
                        summaryview->last_displayed = summaryview->displayed;
                        summaryview->displayed = row;
-                       if (!messageview_is_visible(msgview)) {
+                       if (!messageview_is_visible(msgview) &&
+                           gtk_window_is_active(GTK_WINDOW(summaryview->mainwin->window))) {
                                main_window_toggle_message_view(summaryview->mainwin);
                                GTK_EVENTS_FLUSH();
                        }