aboutsummaryrefslogtreecommitdiffstats
path: root/shell/e-shell.c
diff options
context:
space:
mode:
Diffstat (limited to 'shell/e-shell.c')
-rw-r--r--shell/e-shell.c38
1 files changed, 15 insertions, 23 deletions
diff --git a/shell/e-shell.c b/shell/e-shell.c
index 203f3bbec4..b5d6cc5b97 100644
--- a/shell/e-shell.c
+++ b/shell/e-shell.c
@@ -125,7 +125,7 @@ struct _EShellPrivate {
GtkWidget *settings_dialog;
/* Configuration Database */
- Bonobo_ConfigDatabase db;
+ EConfigListener *config_listener;
/* Whether the shell is succesfully initialized. This is needed during
the start-up sequence, to avoid CORBA calls to do make wrong things
@@ -1037,8 +1037,6 @@ destroy (GtkObject *object)
priv->is_initialized = FALSE;
- e_shell_disconnect_db (shell);
-
if (priv->iid != NULL)
oaf_active_server_unregister (priv->iid, bonobo_object_corba_objref (BONOBO_OBJECT (shell)));
@@ -1098,6 +1096,16 @@ destroy (GtkObject *object)
e_free_string_list (priv->crash_type_names);
+ if (priv->settings_dialog != NULL) {
+ gtk_object_destroy (priv->settings_dialog);
+ priv->settings_dialog = NULL;
+ }
+
+ if (priv->config_listener != NULL) {
+ g_object_unref (priv->config_listener);
+ priv->config_listener = NULL;
+ }
+
g_free (priv);
(* GTK_OBJECT_CLASS (parent_class)->destroy) (object);
@@ -1254,25 +1262,9 @@ e_shell_construct (EShell *shell,
cannot register their own storages. */
if (! setup_corba_storages (shell))
return FALSE;
-
- CORBA_exception_init (&ev);
-
- priv->db = bonobo_get_object ("wombat:", "Bonobo/ConfigDatabase", &ev);
- if (BONOBO_EX (&ev) || priv->db == CORBA_OBJECT_NIL) {
- g_warning ("Cannot access Bonobo/ConfigDatabase on wombat: (%s)", ev._repo_id);
-
- /* 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 E_SHELL_CONSTRUCT_RESULT_NOCONFIGDB;
- }
- e_setup_check_db (priv->db, local_directory);
-
- CORBA_exception_free (&ev);
+ e_setup_check_db (priv->config_listener, local_directory);
+
/* Now we can register into OAF. Notice that we shouldn't be
registering into OAF until we are sure we can complete. */
@@ -2106,11 +2098,11 @@ e_shell_show_settings (EShell *shell, const char *type, EShellView *shell_view)
Bonobo_ConfigDatabase
-e_shell_get_config_db (EShell *shell)
+e_shell_get_config_listener (EShell *shell)
{
g_return_val_if_fail (E_IS_SHELL (shell), CORBA_OBJECT_NIL);
- return shell->priv->db;
+ return shell->priv->config_listener;
}
EComponentRegistry *