diff options
author | Ettore Perazzoli <ettore@src.gnome.org> | 2002-11-02 16:25:03 +0800 |
---|---|---|
committer | Ettore Perazzoli <ettore@src.gnome.org> | 2002-11-02 16:25:03 +0800 |
commit | 9c73777f2268b5bf2622f893e2a3ba7d0f720572 (patch) | |
tree | f81b79f19b87f84b4429d329b3fc0f9ff7946060 /shell/e-shell.c | |
parent | 236c15d106b4e740d4e3996e0649334ca8e13876 (diff) | |
download | gsoc2013-evolution-9c73777f2268b5bf2622f893e2a3ba7d0f720572.tar.gz gsoc2013-evolution-9c73777f2268b5bf2622f893e2a3ba7d0f720572.tar.zst gsoc2013-evolution-9c73777f2268b5bf2622f893e2a3ba7d0f720572.zip |
First big sync of my GNOME 2 porting work (incomplete, and still
pretty broken).
Weeeeee!
svn path=/trunk/; revision=18503
Diffstat (limited to 'shell/e-shell.c')
-rw-r--r-- | shell/e-shell.c | 38 |
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 * |