aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--shell/ChangeLog10
-rw-r--r--shell/e-shell.c6
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;
}