diff options
-rw-r--r-- | shell/ChangeLog | 14 | ||||
-rw-r--r-- | shell/e-local-storage.c | 30 |
2 files changed, 37 insertions, 7 deletions
diff --git a/shell/ChangeLog b/shell/ChangeLog index 7563ff3e2d..a06c2afc29 100644 --- a/shell/ChangeLog +++ b/shell/ChangeLog @@ -1,3 +1,9 @@ +2002-07-26 Ettore Perazzoli <ettore@ximian.com> + + * e-local-storage.c (load_all_folders): Don't return FALSE if any + of the folders fails to load; otherwise, if the user has played + with ~/evolution, he might end up not seeing any folders at all. + 2002-07-24 Ettore Perazzoli <ettore@ximian.com> * e-shell-view-menu.c (command_work_online): Remove debugging @@ -47,13 +53,13 @@ (removed_storage_cb) (new_folder_cb) * e-shortcuts-view.c - (get_shortcut_info): + (get_shortcut_info) * e-shell-view.c (handle_current_folder_removed) * e-shell-utils.c - (e_shell_folder_name_is_valid): + (e_shell_folder_name_is_valid) * e-local-storage.c - (construct): + (construct) * e-folder-tree.c (get_parent_path) (get_parent_path) @@ -63,7 +69,7 @@ * e-folder-dnd-bridge.c (handle_data_received_path) * evolution-storage.c - (make_full_uri): + (make_full_uri) * e-shell-constants.h: New #defines E_PATH_SEPARATOR and E_PATH_SEPARATOR_S. diff --git a/shell/e-local-storage.c b/shell/e-local-storage.c index 8c263d1e76..3b7caca0e4 100644 --- a/shell/e-local-storage.c +++ b/shell/e-local-storage.c @@ -218,8 +218,9 @@ load_all_folders (ELocalStorage *local_storage) base_path = e_local_storage_get_base_path (local_storage); - if (! e_path_find_folders (base_path, load_folder, local_storage)) - return FALSE; + /* Ignore errors, so we set up the local storage even if there is stale + data that we don't understand in ~/evolution. */ + e_path_find_folders (base_path, load_folder, local_storage); setup_stock_folders (local_storage); @@ -817,6 +818,28 @@ struct _XferData { }; typedef struct _XferData XferData; +static int nesting = 0; + +#define PRINT_ENTER() \ + while (0) { \ + int _i; \ + nesting ++; \ + \ + for (_i = 0; _i < nesting; _i ++) \ + putchar (' '); \ + printf ("Enter %s", __FUNCTION__); \ + } + +#define PRINT_EXIT() \ + while (0) { \ + int _i; \ + \ + for (_i = 0; _i < nesting; _i ++) \ + putchar (' '); \ + printf ("Exit %s", __FUNCTION__); \ + nesting --; \ + } + static void async_xfer_folder_step (ELocalStorage *local_storage, const char *source_path, @@ -831,6 +854,7 @@ async_xfer_folder_step (ELocalStorage *local_storage, char *physical_path; char *physical_uri; + PRINT_ENTER (); priv = local_storage->priv; source_folder = e_storage_get_folder (E_STORAGE (local_storage), source_path); @@ -855,8 +879,8 @@ async_xfer_folder_step (ELocalStorage *local_storage, remove_source, component_client_callback, component_client_callback_data); - g_free (physical_uri); + PRINT_EXIT (); } static void |