fixed toolbar change/save issues
authorThorsten Maerz <torte@netztorte.de>
Tue, 6 Aug 2002 22:18:39 +0000 (22:18 +0000)
committerThorsten Maerz <torte@netztorte.de>
Tue, 6 Aug 2002 22:18:39 +0000 (22:18 +0000)
ChangeLog.claws
configure.in
src/prefs_toolbar.c
src/toolbar.c
src/utils.c

index c992008..aae10ba 100644 (file)
@@ -1,3 +1,12 @@
+2002-08-07 [thorsten]  0.8.1claws30
+
+       * src/prefs_toolbar.c
+               fix: crash on replace or add new button
+       * src/toolbar.c
+               fix: close xmlfile after reading
+       * src/utils.c
+               fix: unlink() file before rename()
+
 2002-08-06 [paul]      0.8.1claws29
 
        * sync with 0.8.cvs15
@@ -28,7 +37,7 @@
        * src/toolbar.[ch]              **New File**
                o prefs_toolbar.[ch] custom toolbar frontend
                o toolbar.[ch]       backend 
+
 2002-08-06 [oliver]    0.8.1claws25
 
        * src/prefs_actions.[ch]
index 5a76345..2ea60f7 100644 (file)
@@ -8,7 +8,7 @@ MINOR_VERSION=8
 MICRO_VERSION=1
 INTERFACE_AGE=0
 BINARY_AGE=0
-EXTRA_VERSION=claws28
+EXTRA_VERSION=claws30
 VERSION=$MAJOR_VERSION.$MINOR_VERSION.$MICRO_VERSION$EXTRA_VERSION
 
 dnl set $target
index 1005806..7a48a2c 100644 (file)
@@ -134,7 +134,7 @@ static void prefs_toolbar_populate(void)
        GdkPixmap *xpm;
        GdkBitmap *xpmmask;
        gchar *avail[2];
-       gchar *activ[5];
+       gchar *activ[5] = {0};
        gchar *act;
        
        gtk_clist_clear (clist_icons);
@@ -330,7 +330,7 @@ static gint prefs_toolbar_register(void)
        gint row_set = 0;
        GdkPixmap *xpm;
        GdkBitmap *xpmmask;
-       gchar *item[5];
+       gchar *item[5] = {0};
 
        if (clist_icons->rows == 0) return -1; 
 
@@ -392,7 +392,7 @@ static gint prefs_toolbar_substitute(void)
        gint row_set = 0;
        GdkPixmap *xpm;
        GdkBitmap *xpmmask;
-       gchar *item[5];
+       gchar *item[5] = {0};
        gchar *ac_set;
 
        /* no rows or nothing selected */
index 2d48df8..84a84f9 100644 (file)
@@ -400,19 +400,14 @@ void toolbar_read_config_file ()
        toolbar_clear_list();
 
        if (file) {
-
-               if (setjmp (jumper)) {
-                       xml_close_file (file);
+               if ((setjmp (jumper))
+               || (xml_get_dtd (file))
+               || (xml_parse_next_tag (file))
+               || (!xml_compare_tag (file, TOOLBAR_TAG_INDEX))) {
+                       xml_close_file(file);
                        return;
                }
 
-               if (xml_get_dtd (file)) 
-                       return;
-               if (xml_parse_next_tag (file)) 
-                       return;
-               if (!xml_compare_tag (file, TOOLBAR_TAG_INDEX)) 
-                       return;
-                               
                attr = xml_get_current_tag_attr (file);
                
                retVal = TRUE;
@@ -435,8 +430,9 @@ void toolbar_read_config_file ()
                        }
 
                }
+               xml_close_file(file);
        }
-       else {  
+       else {
                /* save default toolbar */
                toolbar_set_default_toolbar();
                toolbar_save_config_file();
index a353d43..26f48b7 100644 (file)
@@ -2166,6 +2166,7 @@ gint canonicalize_file_replace(const gchar *file)
        if (canonicalize_file(file, tmp_file) < 0)
                return -1;
 
+       unlink(file);
        if (rename(tmp_file, file) < 0) {
                FILE_OP_ERROR(file, "rename");
                unlink(tmp_file);