diff options
Diffstat (limited to 'shell')
-rw-r--r-- | shell/ChangeLog | 6 | ||||
-rw-r--r-- | shell/e-shell-view.c | 7 |
2 files changed, 12 insertions, 1 deletions
diff --git a/shell/ChangeLog b/shell/ChangeLog index df600ac65c..e3a33d5953 100644 --- a/shell/ChangeLog +++ b/shell/ChangeLog @@ -1,3 +1,9 @@ +2000-12-04 Michael Meeks <michael@helixcode.com> + + * e-shell-view.c (get_control_for_uri): return NULL if we can't + create a view. + (setup_evolution_shell_view_interface): add precondition. + 2000-12-04 Ettore Perazzoli <ettore@helixcode.com> * e-shortcuts-view.c (e_shortcuts_view_construct): Ref the diff --git a/shell/e-shell-view.c b/shell/e-shell-view.c index 884396d149..a82ba563b8 100644 --- a/shell/e-shell-view.c +++ b/shell/e-shell-view.c @@ -1108,6 +1108,8 @@ setup_corba_interface (EShellView *shell_view, BonoboControlFrame *control_frame; EvolutionShellView *corba_interface; + g_return_if_fail (control != NULL); + priv = shell_view->priv; control_frame = bonobo_widget_get_control_frame (BONOBO_WIDGET (control)); @@ -1254,7 +1256,7 @@ get_control_for_uri (EShellView *shell_view, CORBA_exception_init (&ev); corba_control = GNOME_Evolution_ShellComponent_createView (handler, e_folder_get_physical_uri (folder), - folder_type, &ev); + folder_type, &ev); if (ev._major != CORBA_NO_EXCEPTION) { CORBA_exception_free (&ev); @@ -1263,6 +1265,9 @@ get_control_for_uri (EShellView *shell_view, CORBA_exception_free (&ev); + if (corba_control == CORBA_OBJECT_NIL) + return NULL; + container = bonobo_ui_component_get_container (priv->ui_component); control = bonobo_widget_new_control_from_objref (corba_control, container); |