From: Paul Mangan Date: Sun, 11 Dec 2005 10:03:46 +0000 (+0000) Subject: 2005-12-11 [paul] 1.9.100cvs82 X-Git-Tag: rel_2_0_0~134 X-Git-Url: http://git.claws-mail.org/?p=claws.git;a=commitdiff_plain;h=a82dc4dfa0b8e7811ceff1bd654651d210457cb3 2005-12-11 [paul] 1.9.100cvs82 * src/gtk/filesel.c fix attach_load_dir crasher (double free) --- diff --git a/ChangeLog b/ChangeLog index b07e16e63..a02604a81 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +2005-12-11 [paul] 1.9.100cvs82 + + * src/gtk/filesel.c + fix attach_load_dir crasher (double free) + 2005-12-09 [paul] 1.9.100cvs81 * po/POTFILES.in diff --git a/PATCHSETS b/PATCHSETS index a58e9d68d..ab29d6810 100644 --- a/PATCHSETS +++ b/PATCHSETS @@ -1065,3 +1065,4 @@ ( cvs diff -u -r 1.1.2.13 -r 1.1.2.14 src/plugins/pgpcore/sgpgme.c; ) > 1.9.100cvs79.patchset ( cvs diff -u -r 1.1.2.7 -r 1.1.2.8 src/plugins/pgpcore/passphrase.c; ) > 1.9.100cvs80.patchset ( cvs diff -u -r 1.53.2.15 -r 1.53.2.16 po/POTFILES.in; cvs diff -u -r 1.274.2.80 -r 1.274.2.81 src/mainwindow.c; cvs diff -u -r 1.11.2.4 -r 1.11.2.5 src/manual.c; cvs diff -u -r 1.20.2.6 -r 1.20.2.7 src/gtk/Makefile.am; diff -u /dev/null src/gtk/icon_legend.c; diff -u /dev/null src/gtk/icon_legend.h; ) > 1.9.100cvs81.patchset +( cvs diff -u -r 1.2.2.17 -r 1.2.2.18 src/gtk/filesel.c; ) > 1.9.100cvs82.patchset diff --git a/configure.ac b/configure.ac index 48c22f0fa..06de46435 100644 --- a/configure.ac +++ b/configure.ac @@ -11,7 +11,7 @@ MINOR_VERSION=9 MICRO_VERSION=100 INTERFACE_AGE=0 BINARY_AGE=0 -EXTRA_VERSION=81 +EXTRA_VERSION=82 EXTRA_RELEASE= EXTRA_GTK2_VERSION= diff --git a/src/gtk/filesel.c b/src/gtk/filesel.c index 32bc4c648..1624b4555 100644 --- a/src/gtk/filesel.c +++ b/src/gtk/filesel.c @@ -49,7 +49,6 @@ static GList *filesel_create(const gchar *title, const gchar *path, { GSList *slist = NULL, *slist_orig = NULL; GList *list = NULL; - gchar *last_selected_dir = prefs_common.attach_load_dir; gint action = (open == TRUE) ? (folder_mode == TRUE ? GTK_FILE_CHOOSER_ACTION_SELECT_FOLDER: @@ -92,10 +91,10 @@ static GList *filesel_create(const gchar *title, const gchar *path, gtk_file_chooser_set_current_name(GTK_FILE_CHOOSER(chooser), filename); free(realpath); } else { - if (!last_selected_dir) - last_selected_dir = g_strdup_printf("%s%c", get_home_dir(), G_DIR_SEPARATOR); + if (!prefs_common.attach_load_dir) + prefs_common.attach_load_dir = g_strdup_printf("%s%c", get_home_dir(), G_DIR_SEPARATOR); - gtk_file_chooser_set_current_folder(GTK_FILE_CHOOSER(chooser), last_selected_dir); + gtk_file_chooser_set_current_folder(GTK_FILE_CHOOSER(chooser), prefs_common.attach_load_dir); } if (gtk_dialog_run (GTK_DIALOG (chooser)) == GTK_RESPONSE_ACCEPT) @@ -108,17 +107,14 @@ static GList *filesel_create(const gchar *title, const gchar *path, if (slist) { gchar *tmp = strdup(slist->data); - if (last_selected_dir) - g_free(last_selected_dir); - - if (strrchr(tmp, G_DIR_SEPARATOR)) - *(strrchr(tmp, G_DIR_SEPARATOR)+1) = '\0'; - last_selected_dir = g_strdup(tmp); if (prefs_common.attach_load_dir) g_free(prefs_common.attach_load_dir); + + if (strrchr(tmp, G_DIR_SEPARATOR)) + *(strrchr(tmp, G_DIR_SEPARATOR)+1) = '\0'; - prefs_common.attach_load_dir = last_selected_dir; + prefs_common.attach_load_dir = g_strdup(tmp); g_free(tmp); }