commit dfe9acba7d65a26e7b00cc8859b3d75bd698d7ff
parent 274465d542fcb2c13cac91c81949fe2e4ba95b4d
Author: Colin Leroy <colin@colino.net>
Date: Sun, 3 Apr 2011 09:53:44 +0000
2011-04-03 [colin] 3.7.8cvs70
* src/compose.c
Fix bug #2365 again, "Crash when auto-scrolling headers in
compose window".
Batch-mode compose windows (from filtering actions) shouldn't
try to access stuff after flushing events...
Diffstat:
4 files changed, 17 insertions(+), 3 deletions(-)
diff --git a/ChangeLog b/ChangeLog
@@ -1,3 +1,11 @@
+2011-04-03 [colin] 3.7.8cvs70
+
+ * src/compose.c
+ Fix bug #2365 again, "Crash when auto-scrolling headers in
+ compose window".
+ Batch-mode compose windows (from filtering actions) shouldn't
+ try to access stuff after flushing events...
+
2011-03-31 [paul] 3.7.8cvs69
* INSTALL
diff --git a/PATCHSETS b/PATCHSETS
@@ -4143,3 +4143,4 @@
( cvs diff -u -r 1.654.2.4215 -r 1.654.2.4216 configure.ac; ) > 3.7.8cvs67.patchset
( cvs diff -u -r 1.94.2.213 -r 1.94.2.214 src/messageview.c; ) > 3.7.8cvs68.patchset
( cvs diff -u -r 1.29.2.12 -r 1.29.2.13 INSTALL; ) > 3.7.8cvs69.patchset
+( cvs diff -u -r 1.382.2.568 -r 1.382.2.569 src/compose.c; ) > 3.7.8cvs70.patchset
diff --git a/configure.ac b/configure.ac
@@ -12,7 +12,7 @@ MINOR_VERSION=7
MICRO_VERSION=8
INTERFACE_AGE=0
BINARY_AGE=0
-EXTRA_VERSION=69
+EXTRA_VERSION=70
EXTRA_RELEASE=
EXTRA_GTK2_VERSION=
diff --git a/src/compose.c b/src/compose.c
@@ -10799,6 +10799,9 @@ static gboolean compose_headerentry_key_press_event_cb(GtkWidget *entry,
static gboolean scroll_postpone(gpointer data)
{
Compose *compose = (Compose *)data;
+
+ cm_return_val_if_fail(!compose->batch, FALSE);
+
GTK_EVENTS_FLUSH();
compose_show_first_last_header(compose, FALSE);
return FALSE;
@@ -10812,8 +10815,9 @@ static void compose_headerentry_changed_cb(GtkWidget *entry,
g_signal_handlers_disconnect_matched
(G_OBJECT(entry), G_SIGNAL_MATCH_DATA,
0, 0, NULL, NULL, headerentry);
-
- g_timeout_add(0, scroll_postpone, headerentry->compose);
+
+ if (!headerentry->compose->batch)
+ g_timeout_add(0, scroll_postpone, headerentry->compose);
}
}
@@ -10822,6 +10826,7 @@ static void compose_show_first_last_header(Compose *compose, gboolean show_first
GtkAdjustment *vadj;
cm_return_if_fail(compose);
+ cm_return_if_fail(!compose->batch);
cm_return_if_fail(GTK_IS_WIDGET(compose->header_table));
cm_return_if_fail(GTK_IS_VIEWPORT(compose->header_table->parent));
vadj = gtk_viewport_get_vadjustment(GTK_VIEWPORT(compose->header_table->parent));