2005-09-12 [paul] 1.9.14cvs20
authorPaul Mangan <paul@claws-mail.org>
Mon, 12 Sep 2005 09:22:22 +0000 (09:22 +0000)
committerPaul Mangan <paul@claws-mail.org>
Mon, 12 Sep 2005 09:22:22 +0000 (09:22 +0000)
* src/compose.c
set correct sensitivity on attachments
popup menu
* src/folder.c
fix typo
* src/prefs_spelling.c
fix crash when no LANG env is set
* src/common/xml.c
fix crash in wizard
don't use memeory after free

All patches by Daniel Gustafson

ChangeLog-gtk2.claws
PATCHSETS
configure.ac
src/common/xml.c
src/compose.c
src/folder.c
src/prefs_spelling.c

index 9eb13e2e8d1147cd40035903b194081606aa406d..61ef7caaa700d00506104aebcc1b8b77b649975d 100644 (file)
@@ -1,3 +1,18 @@
+2005-09-12 [paul]      1.9.14cvs20
+
+       * src/compose.c
+               set correct sensitivity on attachments
+               popup menu
+       * src/folder.c
+               fix typo
+       * src/prefs_spelling.c
+               fix crash when no LANG env is set
+       * src/common/xml.c
+               fix crash in wizard
+               don't use memeory after free
+
+       All patches by Daniel Gustafson
+
 2005-09-12 [paul]      1.9.14cvs19
 
        * src/prefs_themes.c
index fdc58a3a0cc318e5e1bd1ac5a0584e8b892c4642..a4377d9eb9b1aea808df3c9755cd937a0639eb14 100644 (file)
--- a/PATCHSETS
+++ b/PATCHSETS
 ( cvs diff -u -r 1.382.2.164 -r 1.382.2.165 src/compose.c;  cvs diff -u -r 1.1.2.3 -r 1.1.2.4 src/plugins/pgpcore/select-keys.c;  cvs diff -u -r 1.1.2.1 -r 1.1.2.2 src/plugins/pgpcore/select-keys.h;  cvs diff -u -r 1.1.2.5 -r 1.1.2.6 src/plugins/pgpcore/sgpgme.c;  ) > 1.9.14cvs17.patchset
 ( cvs diff -u -r 1.1.2.4 -r 1.1.2.5 src/plugins/pgpcore/select-keys.c;  ) > 1.9.14cvs18.patchset
 ( cvs diff -u -r 1.3.2.24 -r 1.3.2.25 src/prefs_themes.c;  cvs diff -u -r 1.5.2.10 -r 1.5.2.11 src/gtk/description_window.c;  cvs diff -u -r 1.30.2.4 -r 1.30.2.5 tools/README;  cvs diff -u -r 1.1.2.2 -r 1.1.2.3 tools/claws.i18n.status.pl;  ) > 1.9.14cvs19.patchset
+( cvs diff -u -r 1.382.2.165 -r 1.382.2.166 src/compose.c;  cvs diff -u -r 1.213.2.55 -r 1.213.2.56 src/folder.c;  cvs diff -u -r 1.5.2.10 -r 1.5.2.11 src/prefs_spelling.c;  cvs diff -u -r 1.1.4.11 -r 1.1.4.12 src/common/xml.c;  ) > 1.9.14cvs20.patchset
index 2d6b45597bf11b8b6f0f61357ba32fcff8b47abe..09fe171e1d5e6b4c3584f9068c3e5ffb236eacf3 100644 (file)
@@ -11,7 +11,7 @@ MINOR_VERSION=9
 MICRO_VERSION=14
 INTERFACE_AGE=0
 BINARY_AGE=0
-EXTRA_VERSION=19
+EXTRA_VERSION=20
 EXTRA_RELEASE=
 EXTRA_GTK2_VERSION=
 
index 8fd56625253d017908947b1f68a79326f618600a..1cd5563d14cd942306dade415d531d0bd15dec76 100644 (file)
@@ -583,6 +583,7 @@ gint xml_file_put_escape_str(FILE *fp, const gchar *str)
 gint xml_file_put_xml_decl(FILE *fp)
 {
        g_return_val_if_fail(fp != NULL, -1);
+       XML_STRING_TABLE_CREATE();
 
        fprintf(fp, "<?xml version=\"1.0\" encoding=\"%s\"?>\n", CS_INTERNAL);
        return 0;
@@ -649,10 +650,10 @@ void xml_free_tag(XMLTag *tag)
        XML_STRING_FREE(tag->tag);
        while (tag->attr != NULL) {
                XMLAttr *attr = (XMLAttr *)tag->attr->data;
+               tag->attr = g_list_remove(tag->attr, tag->attr->data);
                XML_STRING_FREE(attr->name);
-               g_free(attr->value);
+               XML_STRING_FREE(attr->value);
                g_free(attr);
-               tag->attr = g_list_remove(tag->attr, tag->attr->data);
        }
        g_free(tag);
 }
index ccad422effce7c4ba8d55af97626f0f160de6053..94db1d4cd7defcdf6248c834351ff71c761e8a88 100644 (file)
@@ -6420,10 +6420,26 @@ static gboolean attach_button_pressed(GtkWidget *widget, GdkEventButton *event,
                                      gpointer data)
 {
        Compose *compose = (Compose *)data;
-
+       GtkTreeSelection *attach_selection;
+       gint attach_nr_selected;
+       GtkItemFactory *ifactory;
+       
        if (!event) return FALSE;
 
        if (event->button == 3) {
+               attach_selection = gtk_tree_view_get_selection(GTK_TREE_VIEW(widget));
+               attach_nr_selected = gtk_tree_selection_count_selected_rows(attach_selection);
+               ifactory = gtk_item_factory_from_widget(compose->popupmenu);
+                       
+               if (attach_nr_selected > 0)
+               {
+                       menu_set_sensitive(ifactory, "/Remove", TRUE);
+                       menu_set_sensitive(ifactory, "/Properties...", TRUE);
+               } else {
+                       menu_set_sensitive(ifactory, "/Remove", FALSE);
+                       menu_set_sensitive(ifactory, "/Properties...", FALSE);
+               }
+                       
                gtk_menu_popup(GTK_MENU(compose->popupmenu), NULL, NULL,
                               NULL, NULL, event->button, event->time);
                return TRUE;                           
index b298d54ddf06662add9068cf14bb09b0a961c3a5..59d88057c82d3c9d736a87929fb0bc430486f3c8 100644 (file)
@@ -3182,7 +3182,7 @@ static gpointer folder_item_to_xml(gpointer nodedata, gpointer data)
        else
                tag = folder_item_get_xml(item->folder, item);
 
-       return xml_node_new(tag, NULL);;
+       return xml_node_new(tag, NULL);
 }
 
 static GNode *folder_get_xml_node(Folder *folder)
index 30006bdf035361ab35d16345fb2ec0852eddea36..9fcffc4bfc7238ff99ddfa815a948dd450bc4d5e 100644 (file)
@@ -374,7 +374,9 @@ void prefs_spelling_init(void)
        prefs_spelling = page;
        
        language = g_getenv("LANG");
-       if (!strcmp(language, "POSIX") || !strcmp(language, "C"))
+       if (language == NULL)
+               language = "en";
+       else if (!strcmp(language, "POSIX") || !strcmp(language, "C"))
                language = "en";
        
        if (!prefs_common.dictionary)