2007-07-09 [colin] 2.10.0cvs10
authorColin Leroy <colin@colino.net>
Mon, 9 Jul 2007 19:16:10 +0000 (19:16 +0000)
committerColin Leroy <colin@colino.net>
Mon, 9 Jul 2007 19:16:10 +0000 (19:16 +0000)
* src/prefs_toolbar.c
Fix crash when no actions exist

ChangeLog
PATCHSETS
configure.ac
src/prefs_toolbar.c

index a6b204eac965f8753596d04aad946b1e7eaaa3b8..bd70461c92187acbdb7f06e56378a464be7a2242 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+2007-07-09 [colin]     2.10.0cvs10
+
+       * src/prefs_toolbar.c
+               Fix crash when no actions exist
+
 2007-07-07 [paul]      2.10.0cvs9
 
        * COPYING
index 7e9d9e96d97002d866f9b5108657d59801a5a391..3ce8f5e4e3ecac5e015c7731be80067a3bd27593 100644 (file)
--- a/PATCHSETS
+++ b/PATCHSETS
 ( cvs diff -u -r 1.8.2.20 -r 1.8.2.21 src/quote_fmt.c;  ) > 2.10.0cvs7.patchset
 ( cvs diff -u -r 1.9.2.24 -r 1.9.2.25 src/plugins/clamav/clamav_plugin_gtk.c;  ) > 2.10.0cvs8.patchset
 ( cvs diff -u -r 1.5.10.5 -r 1.5.10.6 COPYING;  cvs diff -u -r 1.1.2.1 -r 1.1.2.2 manual/claws-mail-manual.xml;  cvs diff -u -r 1.1.2.13 -r 1.1.2.14 po/fi.po;  ) > 2.10.0cvs9.patchset
+( cvs diff -u -r 1.30.2.33 -r 1.30.2.34 src/prefs_toolbar.c;  ) > 2.10.0cvs10.patchset
index e834c521f2c2921d759269239db7238fe6084cd3..fd8cd79616f5435c6a827ced930d2bf082d6dbd8 100644 (file)
@@ -11,7 +11,7 @@ MINOR_VERSION=10
 MICRO_VERSION=0
 INTERFACE_AGE=0
 BINARY_AGE=0
-EXTRA_VERSION=9
+EXTRA_VERSION=10
 EXTRA_RELEASE=
 EXTRA_GTK2_VERSION=
 
index db52522830d4473fa7415fd21a862d956e1d82cc..862b6f5dfb2098135511675aa91f8b0370382c66 100644 (file)
@@ -367,6 +367,8 @@ static void prefs_toolbar_default(GtkButton *button, ToolbarPage *prefs_toolbar)
 static void get_action_name(const gchar *entry, gchar **menu)
 {
        gchar *act, *act_p;
+       
+       *menu = NULL;
 
        if (prefs_common.actions_list != NULL) {
                
@@ -387,7 +389,7 @@ static void prefs_toolbar_register(GtkButton *button, ToolbarPage *prefs_toolbar
        gchar *syl_act = toolbar_ret_descr_from_val(A_SYL_ACTIONS);
        GtkListStore *store_set;
        GtkTreeIter iter;
-       gchar *fname;
+       gchar *fname = NULL;
 
        /* move selection in icon list view to set list view */
 
@@ -441,15 +443,17 @@ static void prefs_toolbar_register(GtkButton *button, ToolbarPage *prefs_toolbar
                        text = gtk_editable_get_chars
                                (GTK_EDITABLE(prefs_toolbar->entry_icon_text), 0, -1);
 
-               gtk_list_store_append(store_set, &iter);
-               gtk_list_store_set(store_set, &iter,
-                                  SET_ICON, pixbuf,
-                                  SET_FILENAME, fname,
-                                  SET_TEXT, text,
-                                  SET_EVENT, event,
-                                  SET_ICON_TEXT, NULL,
-                                  SET_ICON_IS_TEXT, FALSE,
-                                  -1);
+               if (text != NULL) {
+                       gtk_list_store_append(store_set, &iter);
+                       gtk_list_store_set(store_set, &iter,
+                                          SET_ICON, pixbuf,
+                                          SET_FILENAME, fname,
+                                          SET_TEXT, text,
+                                          SET_EVENT, event,
+                                          SET_ICON_TEXT, NULL,
+                                          SET_ICON_IS_TEXT, FALSE,
+                                          -1);
+               }
                g_free(text);
                g_free(event);
        }
@@ -534,15 +538,16 @@ static void prefs_toolbar_substitute(GtkButton *button, ToolbarPage *prefs_toolb
                }
 
                /* change the row */
-               gtk_list_store_set(store_set, &iter_set,
-                                  SET_ICON, pixbuf,
-                                  SET_FILENAME, icon_fname,
-                                  SET_TEXT, text,
-                                  SET_EVENT, icon_event,
-                                  SET_ICON_TEXT, NULL,
-                                  SET_ICON_IS_TEXT, FALSE,
-                                  -1);
-       
+               if (text != NULL) {
+                       gtk_list_store_set(store_set, &iter_set,
+                                          SET_ICON, pixbuf,
+                                          SET_FILENAME, icon_fname,
+                                          SET_TEXT, text,
+                                          SET_EVENT, icon_event,
+                                          SET_ICON_TEXT, NULL,
+                                          SET_ICON_IS_TEXT, FALSE,
+                                          -1);
+               }       
                g_free(icon_event);
                g_free(set_event);
                g_free(text);