diff options
-rw-r--r-- | shell/ChangeLog | 10 | ||||
-rw-r--r-- | shell/e-shell.c | 6 |
2 files changed, 16 insertions, 0 deletions
diff --git a/shell/ChangeLog b/shell/ChangeLog index d3fd2a1252..697bd21fcf 100644 --- a/shell/ChangeLog +++ b/shell/ChangeLog @@ -1,5 +1,15 @@ 2001-08-03 Ettore Perazzoli <ettore@ximian.com> + [Fixes #4663, startup crash.] + + * e-shell.c (e_shell_construct): Make sure the pointer to the db + object is CORBA_OBJECT_NIL if `bonobo_get_object()' raises an + exception. + +2001-08-03 Ettore Perazzoli <ettore@ximian.com> + + [Fixes #3818, crash when going off-line.] + * e-shell-offline-handler.c (component_info_free): Also call `PortableServer_POA_deactivate_object()' on the progress listener object so it gets deactivated. diff --git a/shell/e-shell.c b/shell/e-shell.c index 1b3dcbbde8..a27c3cb42b 100644 --- a/shell/e-shell.c +++ b/shell/e-shell.c @@ -822,6 +822,12 @@ e_shell_construct (EShell *shell, if (BONOBO_EX (&ev) || priv->db == CORBA_OBJECT_NIL) { g_warning ("Cannot access Bonobo/ConfigDatabase on wombat:"); + + /* Make sure the DB object is NIL so we don't mess up + (`bonobo_get_object()' might return an undefined value in + the case of an exception). */ + priv->db = CORBA_OBJECT_NIL; + CORBA_exception_free (&ev); return FALSE; } |