This makes the shell not report an error if, when, creating a new folder, the corresponding directory already exists. The problem is that if you get in a situation like the one described in #40989 (the files in the folder's directory get removed but not the directory itself), then the folder doesn't appear on the folder tree but it is also impossible to recreate it because the directory already exists. -- Ettore
? GNOME_Evolution_Shell.oaf ? e-shell-importer.c.new ? selection_change_id ? test.evocomp ? glade/e-active-connection-dialog.gladep ? glade/e-shell-folder-creation-dialog.gladep Index: ChangeLog =================================================================== RCS file: /cvs/gnome/evolution/shell/ChangeLog,v retrieving revision 1.1240 diff -u -p -r1.1240 ChangeLog --- ChangeLog 16 Apr 2003 14:49:22 -0000 1.1240 +++ ChangeLog 16 Apr 2003 15:24:23 -0000 @@ -1,5 +1,11 @@ 2003-04-16 Ettore Perazzoli <ettore ximian com> + * e-local-storage.c (create_folder_directory): Don't signal an + error if mkdir() returns EEXIST. This should at least help with + situations like the one described in #40989. + +2003-04-16 Ettore Perazzoli <ettore ximian com> + * apps_evolution_shell.schemas: Increase the default value for /schemas/apps/evolution/shell/view_defaults/folder_bar/width to 200. [#41002] Index: e-local-storage.c =================================================================== RCS file: /cvs/gnome/evolution/shell/e-local-storage.c,v retrieving revision 1.91 diff -u -p -r1.91 e-local-storage.c --- e-local-storage.c 26 Mar 2003 19:31:37 -0000 1.91 +++ e-local-storage.c 16 Apr 2003 15:24:23 -0000 @@ -393,13 +393,12 @@ create_folder_directory (ELocalStorage * parent = g_strdup_printf ("%s/", parent_path); subfolders_directory_physical_path = e_path_to_physical (priv->base_path, parent); - if (! g_file_test (subfolders_directory_physical_path, G_FILE_TEST_EXISTS)) { - if (mkdir (subfolders_directory_physical_path, 0700) == -1) { - g_free (subfolders_directory_physical_path); - g_free (parent); - return errno_to_storage_result (); - } + if (mkdir (subfolders_directory_physical_path, 0700) == -1 && errno != EEXIST) { + g_free (subfolders_directory_physical_path); + g_free (parent); + return errno_to_storage_result (); } + g_free (subfolders_directory_physical_path); g_free (parent); }
Attachment:
signature.asc
Description: This is a digitally signed message part