aboutsummaryrefslogtreecommitdiffstats
path: root/shell
diff options
context:
space:
mode:
authorEttore Perazzoli <ettore@src.gnome.org>2001-08-03 15:16:08 +0800
committerEttore Perazzoli <ettore@src.gnome.org>2001-08-03 15:16:08 +0800
commitbb98a04df3793d70bdab48d23091668d2f8aba86 (patch)
tree80936ef467db86249393f6a3aa95d4367fe86735 /shell
parent384fbf44ff24c0f981b41083fad51ede9bff7bde (diff)
downloadgsoc2013-evolution-bb98a04df3793d70bdab48d23091668d2f8aba86.tar.gz
gsoc2013-evolution-bb98a04df3793d70bdab48d23091668d2f8aba86.tar.zst
gsoc2013-evolution-bb98a04df3793d70bdab48d23091668d2f8aba86.zip
[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. svn path=/trunk/; revision=11606
Diffstat (limited to 'shell')
-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;
}