From dd6f646f8f075ee328435b146efde61908da8349 Mon Sep 17 00:00:00 2001 From: Jason Leach Date: Fri, 20 Jul 2001 21:42:46 +0000 Subject: [Fix a crash if you start evolution with a bad URI.] 2001-07-20 Jason Leach [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. svn path=/trunk/; revision=11290 --- shell/ChangeLog | 13 +++++++++++++ shell/e-shell-view.c | 2 +- shell/e-shell.c | 3 ++- 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,3 +1,16 @@ +2001-07-20 Jason Leach + + [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 [This is a better way to have "Local Folders" be shown as the 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); -- cgit v1.2.3