2010-12-21 [colin] 3.7.8cvs16
authorColin Leroy <colin@colino.net>
Tue, 21 Dec 2010 20:13:23 +0000 (20:13 +0000)
committerColin Leroy <colin@colino.net>
Tue, 21 Dec 2010 20:13:23 +0000 (20:13 +0000)
* src/textview.c
Check whether we should continue loading the
current textview after inserting a possibly
big image.

ChangeLog
PATCHSETS
configure.ac
src/textview.c

index 25e80940c3313d045bf71da3af527281d027c392..5f7ba6411f9885cb946402a249088aed658a0a0b 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,10 @@
+2010-12-21 [colin]     3.7.8cvs16
+
+       * src/textview.c
+               Check whether we should continue loading the
+               current textview after inserting a possibly
+               big image.
+
 2010-12-20 [colin]     3.7.8cvs15
 
        * src/addrcindex.c
 2010-12-20 [colin]     3.7.8cvs15
 
        * src/addrcindex.c
index bd744c245b92a4358ac93e9b9b55d3341d33dc27..1cbb6a09658e80a182743942f4b71c43e8f7e6b5 100644 (file)
--- a/PATCHSETS
+++ b/PATCHSETS
 ( cvs diff -u -r 1.274.2.319 -r 1.274.2.320 src/mainwindow.c;  ) > 3.7.8cvs13.patchset
 ( cvs diff -u -r 1.382.2.562 -r 1.382.2.563 src/compose.c;  ) > 3.7.8cvs14.patchset
 ( cvs diff -u -r 1.27.2.48 -r 1.27.2.49 src/addr_compl.c;  cvs diff -u -r -1.1.4.10 -r -1.1.4.11 src/addrcindex.c;  cvs diff -u -r -1.1.4.6 -r -1.1.4.7 src/addrcindex.h;  cvs diff -u -r 1.1.2.14 -r 1.1.2.15 src/gtk/gtkcmclist.c;  cvs diff -u -r 1.1.2.16 -r 1.1.2.17 src/gtk/gtkcmctree.c;  cvs diff -u -r 1.1.4.58 -r 1.1.4.59 src/gtk/gtksctree.c;  ) > 3.7.8cvs15.patchset
 ( cvs diff -u -r 1.274.2.319 -r 1.274.2.320 src/mainwindow.c;  ) > 3.7.8cvs13.patchset
 ( cvs diff -u -r 1.382.2.562 -r 1.382.2.563 src/compose.c;  ) > 3.7.8cvs14.patchset
 ( cvs diff -u -r 1.27.2.48 -r 1.27.2.49 src/addr_compl.c;  cvs diff -u -r -1.1.4.10 -r -1.1.4.11 src/addrcindex.c;  cvs diff -u -r -1.1.4.6 -r -1.1.4.7 src/addrcindex.h;  cvs diff -u -r 1.1.2.14 -r 1.1.2.15 src/gtk/gtkcmclist.c;  cvs diff -u -r 1.1.2.16 -r 1.1.2.17 src/gtk/gtkcmctree.c;  cvs diff -u -r 1.1.4.58 -r 1.1.4.59 src/gtk/gtksctree.c;  ) > 3.7.8cvs15.patchset
+( cvs diff -u -r 1.96.2.225 -r 1.96.2.226 src/textview.c;  ) > 3.7.8cvs16.patchset
index b45e427e1ac1a6cfb0d11c325bb1c108e69acb5d..b2c37e5714fa26623e6f5ce8d0ad0b4447bcd119 100644 (file)
@@ -12,7 +12,7 @@ MINOR_VERSION=7
 MICRO_VERSION=8
 INTERFACE_AGE=0
 BINARY_AGE=0
 MICRO_VERSION=8
 INTERFACE_AGE=0
 BINARY_AGE=0
-EXTRA_VERSION=15
+EXTRA_VERSION=16
 EXTRA_RELEASE=
 EXTRA_GTK2_VERSION=
 
 EXTRA_RELEASE=
 EXTRA_GTK2_VERSION=
 
index 762903421e262279b8d812371446d3239a7c5d76..b2d334a684a081940f6f74ebc2c691373ec24f09 100644 (file)
@@ -711,6 +711,9 @@ static void textview_add_part(TextView *textview, MimeInfo *mimeinfo)
                                else
                                        pixbuf = gdk_pixbuf_new_from_file(filename, &error);
                        }
                                else
                                        pixbuf = gdk_pixbuf_new_from_file(filename, &error);
                        }
+                       if (textview->stop_loading) {
+                               return;
+                       }
                        if (error != NULL) {
                                g_warning("%s\n", error->message);
                                g_error_free(error);
                        if (error != NULL) {
                                g_warning("%s\n", error->message);
                                g_error_free(error);
@@ -729,7 +732,10 @@ static void textview_add_part(TextView *textview, MimeInfo *mimeinfo)
                                uri->start = gtk_text_iter_get_offset(&iter);
                                
                                gtk_text_buffer_insert_pixbuf(buffer, &iter, pixbuf);
                                uri->start = gtk_text_iter_get_offset(&iter);
                                
                                gtk_text_buffer_insert_pixbuf(buffer, &iter, pixbuf);
-                               
+                               if (textview->stop_loading) {
+                                       g_free(uri);
+                                       return;
+                               }
                                uri->end = uri->start + 1;
                                uri->filename = procmime_get_part_file_name(mimeinfo);
                                textview->uri_list =
                                uri->end = uri->start + 1;
                                uri->filename = procmime_get_part_file_name(mimeinfo);
                                textview->uri_list =
@@ -741,6 +747,10 @@ static void textview_add_part(TextView *textview, MimeInfo *mimeinfo)
                                                &start_iter, &iter);
                        } else {
                                gtk_text_buffer_insert_pixbuf(buffer, &iter, pixbuf);
                                                &start_iter, &iter);
                        } else {
                                gtk_text_buffer_insert_pixbuf(buffer, &iter, pixbuf);
+                               if (textview->stop_loading) {
+                                       g_free(uri);
+                                       return;
+                               }
                                gtk_text_buffer_insert(buffer, &iter, " ", 1);
                        }
 
                                gtk_text_buffer_insert(buffer, &iter, " ", 1);
                        }