aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--shell/ChangeLog13
-rw-r--r--shell/e-shell-view.c2
-rw-r--r--shell/e-shell.c3
3 files changed, 16 insertions, 2 deletions
diff --git a/shell/ChangeLog b/shell/ChangeLog
index a908201d5d..c452918e3e 100644
--- a/shell/ChangeLog
+++ b/shell/ChangeLog
@@ -1,5 +1,18 @@
2001-07-20 Jason Leach <jleach@ximian.com>
+ [Fix a crash if you start evolution with a bad URI.]
+
+ * e-shell.c (e_shell_create_view): If we can't display the URI,
+ display the default uri. This is because it's necessary for
+ e_shell_view_display_uri() to run all the way through so corba
+ interfaces get setup.
+
+ * e-shell-view.c (e_shell_view_display_uri): If we fail to create
+ a new view for a URI (happens if you pass in an invalid URI), be
+ sure to return FALSE.
+
+2001-07-20 Jason Leach <jleach@ximian.com>
+
[This is a better way to have "Local Folders" be shown as the
local storage name without breaking current user's shortcuts.]
diff --git a/shell/e-shell-view.c b/shell/e-shell-view.c
index 7add4142cd..2b45f5dcc0 100644
--- a/shell/e-shell-view.c
+++ b/shell/e-shell-view.c
@@ -1875,7 +1875,7 @@ e_shell_view_display_uri (EShellView *shell_view,
if (control != NULL) {
g_assert (GTK_IS_WIDGET (control));
show_existing_view (shell_view, uri, control);
- } else if (create_new_view_for_uri (shell_view, uri)) {
+ } else if (!create_new_view_for_uri (shell_view, uri)) {
cleanup_delayed_selection (shell_view);
priv->delayed_selection = g_strdup (uri);
gtk_signal_connect_after (GTK_OBJECT (e_shell_get_storage_set (priv->shell)), "new_folder",
diff --git a/shell/e-shell.c b/shell/e-shell.c
index 7733752c30..62c891e2f8 100644
--- a/shell/e-shell.c
+++ b/shell/e-shell.c
@@ -938,7 +938,8 @@ e_shell_create_view (EShell *shell,
GTK_SIGNAL_FUNC (view_destroy_cb), shell);
if (uri != NULL)
- e_shell_view_display_uri (E_SHELL_VIEW (view), uri);
+ if (!e_shell_view_display_uri (E_SHELL_VIEW (view), uri))
+ e_shell_view_display_uri (E_SHELL_VIEW (view), DEFAULT_URI);
shell->priv->views = g_list_prepend (shell->priv->views, view);