commit fadecf4344c3dfeff4106c86cefa94b5dae52dac
parent b98ebc22215340bafb11fccc95763d46dbaeb3d6
Author: Paweł Pękala <c0rn@gazeta.pl>
Date: Mon, 31 Oct 2011 18:57:51 +0000
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
Diffstat:
5 files changed, 17 insertions(+), 4 deletions(-)
diff --git 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
diff --git a/PATCHSETS b/PATCHSETS
@@ -4267,3 +4267,4 @@
( 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
diff --git a/configure.ac b/configure.ac
@@ -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=
diff --git a/src/gtk/gtkutils.c b/src/gtk/gtkutils.c
@@ -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,
diff --git a/src/summaryview.c b/src/summaryview.c
@@ -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();
}