+2006-04-09 [colin] 2.1.0cvs21
+
+ * src/prefs_customheader.c
+ I prefer removing then freeing rather than the contrary
+ (even if it doesn't change anything ;-)
+ * src/prefs_account.c
+ Fix bug #933 (Crash re-entering the custom headers list
+ dialog in accounts prefs)
+ The problem happened when cancelling the Account
+ Preferences' dialogs - in which case we didn't do
+ anything to the PrefsAccount * struct. In case of applying,
+ the old ac_prefs was replaced with the tmp_ac_prefs we were
+ working with in this dialog. The problem is that
+ prefs_customheader.c, working on this tmp_ac_prefs, always
+ changes the ->customhdr_list pointer, even when cancelled.
+ So in case of cancelling the prefs_account dialog, we still
+ have to update ->customhdr_list in the real account.
+
2006-04-08 [colin] 2.1.0cvs20
* manual/fr/glossary.xml
( cvs diff -u -r 1.1.2.7 -r 1.1.2.8 manual/plugins.xml; cvs diff -u -r 1.1.2.4 -r 1.1.2.5 manual/starting.xml; ) > 2.1.0cvs18.patchset
( cvs diff -u -r 1.1.2.2 -r 1.1.2.3 manual/Makefile.am; diff -u /dev/null manual/fr/Makefile.am; diff -u /dev/null manual/fr/account.xml; diff -u /dev/null manual/fr/ack.xml; diff -u /dev/null manual/fr/addrbook.xml; diff -u /dev/null manual/fr/advanced.xml; diff -u /dev/null manual/fr/faq.xml; diff -u /dev/null manual/fr/glossary.xml; diff -u /dev/null manual/fr/gpl.xml; diff -u /dev/null manual/fr/handling.xml; diff -u /dev/null manual/fr/intro.xml; diff -u /dev/null manual/fr/keyboard.xml; diff -u /dev/null manual/fr/plugins.xml; diff -u /dev/null manual/fr/starting.xml; diff -u /dev/null manual/fr/sylpheed-claws-manual.xml; diff -u /dev/null manual/fr/dist/.cvsignore; diff -u /dev/null manual/fr/dist/Makefile.am; diff -u /dev/null manual/fr/dist/html/.cvsignore; diff -u /dev/null manual/fr/dist/html/Makefile.am; diff -u /dev/null manual/fr/dist/pdf/.cvsignore; diff -u /dev/null manual/fr/dist/pdf/Makefile.am; diff -u /dev/null manual/fr/dist/ps/.cvsignore; diff -u /dev/null manual/fr/dist/ps/Makefile.am; diff -u /dev/null manual/fr/dist/txt/.cvsignore; diff -u /dev/null manual/fr/dist/txt/Makefile.am; ) > 2.1.0cvs19.patchset
( cvs diff -u -r 1.1.2.1 -r 1.1.2.2 manual/fr/glossary.xml; cvs diff -u -r 1.1.2.1 -r 1.1.2.2 manual/fr/keyboard.xml; ) > 2.1.0cvs20.patchset
+( cvs diff -u -r 1.105.2.50 -r 1.105.2.51 src/prefs_account.c; cvs diff -u -r 1.16.2.18 -r 1.16.2.19 src/prefs_customheader.c; ) > 2.1.0cvs21.patchset
MICRO_VERSION=0
INTERFACE_AGE=0
BINARY_AGE=0
-EXTRA_VERSION=20
+EXTRA_VERSION=21
EXTRA_RELEASE=
EXTRA_GTK2_VERSION=
PrefsAccount *ac_prefs = (PrefsAccount *) data;
if (!cancelled)
*ac_prefs = tmp_ac_prefs;
-
+ else /* the customhdr_list may have changed, update it anyway */
+ ac_prefs->customhdr_list = (&tmp_ac_prefs)->customhdr_list;
gtk_main_quit();
}
/* remove all previous headers list */
while (ac->customhdr_list != NULL) {
ch = (CustomHeader *)ac->customhdr_list->data;
- custom_header_free(ch);
ac->customhdr_list = g_slist_remove(ac->customhdr_list, ch);
+ custom_header_free(ch);
}
while (fgets(buf, sizeof(buf), fp) != NULL) {
while (all_hdrs != NULL) {
ch = (CustomHeader *)all_hdrs->data;
- custom_header_free(ch);
all_hdrs = g_slist_remove(all_hdrs, ch);
+ custom_header_free(ch);
}
if (prefs_file_close(pfile) < 0) {