Custom Toolbar: fix crash on CANCEL
authorOliver Haertel <o.h.a@gmx.net>
Sat, 17 Aug 2002 10:54:37 +0000 (10:54 +0000)
committerOliver Haertel <o.h.a@gmx.net>
Sat, 17 Aug 2002 10:54:37 +0000 (10:54 +0000)
ChangeLog.claws
configure.in
src/prefs_toolbar.c
src/toolbar.c

index 789afcbc6da7bbfff90d9ceab33e47f10e3a57f5..3e070b08e21dcc9b77260c678fa671948e7bb739 100644 (file)
@@ -1,3 +1,11 @@
+2002-08-17 [oliver]    0.8.1claws72
+
+       * src/prefs_toolbar.c
+               update toolbar on CANCEL
+               bug reported by Martin Kluge
+       * src/toolbar.c
+               toolbar_destroy memleak fixed           
+
 2002-08-17 [alfons]    0.8.1claws71
 
        * src/toolbar.c
index e88948f813f1f1901c9d716fbbf9bd6748a33a59..17fe67df15c85fe749f1ce1326641c5ab7431a0e 100644 (file)
@@ -8,7 +8,7 @@ MINOR_VERSION=8
 MICRO_VERSION=1
 INTERFACE_AGE=0
 BINARY_AGE=0
-EXTRA_VERSION=claws71
+EXTRA_VERSION=claws72
 VERSION=$MAJOR_VERSION.$MINOR_VERSION.$MICRO_VERSION$EXTRA_VERSION
 
 dnl set $target
index 8611ccfe1d10443722ce5c1892f5f77580314d7b..0a97c42e5d8cfc91e9bd9ee20cad0a71adb38abb 100644 (file)
@@ -312,6 +312,7 @@ static void prefs_toolbar_ok(void)
 static void prefs_toolbar_cancel(void)
 {
        prefs_toolbar_close();
+       toolbar_update();
 }
 
 static void get_action_name(gchar *entry, gchar **menu)
index 7824b2bb6a6bf238ea74dd1fabbcec6abf55f53d..17877aeb90d2a2f3b288be654c3ca8d59ee05b6e 100644 (file)
@@ -137,6 +137,10 @@ static void toolbar_forward_popup_closed_cb
                                        (GtkMenuShell   *menu_shell,
                                         gpointer        data);
 
+static void activate_compose_button     (MainToolbar       *toolbar,
+                                        ToolbarStyle      style,
+                                        ComposeButtonType type);
+
 static ToolbarAction t_action[] = 
 {
        { "A_RECEIVE_ALL",   N_("Receive Mail on all Accounts"),    toolbar_inc_all_cb        },
@@ -835,9 +839,10 @@ void toolbar_destroy(MainWindow *mainwin)
        while (mainwin->toolbar->syl_action != NULL) {
                syl_action = (ToolbarSylpheedActions*)mainwin->toolbar->syl_action->data;
 
+               mainwin->toolbar->syl_action = g_slist_remove(mainwin->toolbar->syl_action, syl_action);
                if (syl_action->name)
                        g_free(syl_action->name);
-               mainwin->toolbar->syl_action = g_slist_remove(mainwin->toolbar->syl_action, syl_action);
+               g_free(syl_action);
        }
 
        g_slist_free(mainwin->toolbar->syl_action);