2006-09-21 [colin] 2.4.0cvs202
authorColin Leroy <colin@colino.net>
Thu, 21 Sep 2006 06:12:00 +0000 (06:12 +0000)
committerColin Leroy <colin@colino.net>
Thu, 21 Sep 2006 06:12:00 +0000 (06:12 +0000)
* src/compose.c
* src/textview.c
Workaround possible GTK crash: remove selection
clipboard before destroying widget, or GTK+-2.10
dies. Thanks to Hiro.

ChangeLog
PATCHSETS
configure.ac
src/compose.c
src/textview.c

index e81e0d5dac8b05d93b7da8fb95dc02d9a0bb57fb..31faa9c3f7c82baf13f942c293e7f7e96a81a71b 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,11 @@
+2006-09-21 [colin]     2.4.0cvs202
+
+       * src/compose.c
+       * src/textview.c
+               Workaround possible GTK crash: remove selection 
+               clipboard before destroying widget, or GTK+-2.10
+               dies. Thanks to Hiro.
+
 2006-09-20 [colin]     2.4.0cvs201
 
        * src/compose.c
index 50bd9d6c7512b0e485fa3de63db7a0a2a34bb45f..fdeae273acd7be3687f402bc60c12e6a968a10ce 100644 (file)
--- a/PATCHSETS
+++ b/PATCHSETS
 ( cvs diff -u -r 1.43.2.47 -r 1.43.2.48 src/prefs_matcher.c;  cvs diff -u -r 1.395.2.251 -r 1.395.2.252 src/summaryview.c;  cvs diff -u -r 1.68.2.26 -r 1.68.2.27 src/summaryview.h;  cvs diff -u -r 1.1.4.7 -r 1.1.4.8 src/gtk/logwindow.h;  ) > 2.4.0cvs199.patchset
 ( cvs diff -u -r 1.207.2.121 -r 1.207.2.122 src/folderview.c;  cvs diff -u -r 1.395.2.252 -r 1.395.2.253 src/summaryview.c;  cvs diff -u -r 1.43.2.51 -r 1.43.2.52 src/toolbar.c;  cvs diff -u -r 1.1.4.31 -r 1.1.4.32 src/gtk/gtksctree.c;  cvs diff -u -r 1.1.4.7 -r 1.1.4.8 src/gtk/gtksctree.h;  ) > 2.4.0cvs200.patchset
 ( cvs diff -u -r 1.382.2.308 -r 1.382.2.309 src/compose.c;  ) > 2.4.0cvs201.patchset
+( cvs diff -u -r 1.382.2.309 -r 1.382.2.310 src/compose.c;  cvs diff -u -r 1.96.2.148 -r 1.96.2.149 src/textview.c;  ) > 2.4.0cvs202.patchset
index 5635865d84353f4fe339b6a225027e94a8c428ad..8ce51168af4d8479280155aa1343ca9e3f6f5a00 100644 (file)
@@ -11,7 +11,7 @@ MINOR_VERSION=4
 MICRO_VERSION=0
 INTERFACE_AGE=0
 BINARY_AGE=0
-EXTRA_VERSION=201
+EXTRA_VERSION=202
 EXTRA_RELEASE=
 EXTRA_GTK2_VERSION=
 
index 483af5ebb0b48417c74533901b2ddcfa6f7cea87..2aab001fa76a23e3dc31d3ed714db4c56c81ae73 100644 (file)
@@ -6698,6 +6698,9 @@ void compose_template_apply_fields(Compose *compose, Template *tmpl)
 
 static void compose_destroy(Compose *compose)
 {
+       GtkTextBuffer *buffer;
+       GtkClipboard *clipboard;
+
        compose_list = g_list_remove(compose_list, compose);
 
        if (compose->updating) {
@@ -6762,6 +6765,10 @@ static void compose_destroy(Compose *compose)
                gtk_widget_destroy(compose->paned);
        gtk_widget_destroy(compose->popupmenu);
 
+       buffer = gtk_text_view_get_buffer(GTK_TEXT_VIEW(compose->text));
+       clipboard = gtk_clipboard_get(GDK_SELECTION_PRIMARY);
+       gtk_text_buffer_remove_selection_clipboard(buffer, clipboard);
+
        gtk_widget_destroy(compose->window);
        toolbar_destroy(compose->toolbar);
        g_free(compose->toolbar);
index 63842336a7a1638c2a369be4022de25498686bc7..440b8b82c8648da85474db89ae1dbce49a4a8238 100644 (file)
@@ -1559,6 +1559,13 @@ void textview_clear(TextView *textview)
 
 void textview_destroy(TextView *textview)
 {
+       GtkTextBuffer *buffer;
+       GtkClipboard *clipboard;
+
+       buffer = gtk_text_view_get_buffer(GTK_TEXT_VIEW(textview->text));
+       clipboard = gtk_clipboard_get(GDK_SELECTION_PRIMARY);
+       gtk_text_buffer_remove_selection_clipboard(buffer, clipboard);
+
        textview_uri_list_remove_all(textview->uri_list);
        textview->uri_list = NULL;