diff options
author | Ettore Perazzoli <ettore@src.gnome.org> | 2002-11-06 02:18:42 +0800 |
---|---|---|
committer | Ettore Perazzoli <ettore@src.gnome.org> | 2002-11-06 02:18:42 +0800 |
commit | 0e595276e5b32beae2a10ad3deb47a802866326f (patch) | |
tree | f614933b1030304ca477a75602d0cb2cbd91ca8d /shell/evolution-storage.c | |
parent | 99c2d72b9971cabfb736e2547f5b57f48fafa354 (diff) | |
download | gsoc2013-evolution-0e595276e5b32beae2a10ad3deb47a802866326f.tar.gz gsoc2013-evolution-0e595276e5b32beae2a10ad3deb47a802866326f.tar.zst gsoc2013-evolution-0e595276e5b32beae2a10ad3deb47a802866326f.zip |
Split finalize/dispose. Likewise. Likewise. Likewise. Likewise. Likewise.
* e-activity-handler.c: Split finalize/dispose.
* e-corba-shortcuts.c: Likewise.
* e-corba-storage-registry.c: Likewise.
* e-shell-about-box.c: Likewise.
* e-shell.c: Likewise.
* e-splash.c: Likewise.
* evolution-config-control.c: Likewise.
* evolution-session.c: Likewise.
* evolution-shell-component.c: Likewise.
* evolution-shell-view.c: Likewise.
* evolution-storage-set-view.c: Likewise.
* evolution-storage.c: Likewise.
* evolution-wizard.c: Likewise.
svn path=/trunk/; revision=18556
Diffstat (limited to 'shell/evolution-storage.c')
-rw-r--r-- | shell/evolution-storage.c | 35 |
1 files changed, 25 insertions, 10 deletions
diff --git a/shell/evolution-storage.c b/shell/evolution-storage.c index 19cb957061..7bbe0e62b8 100644 --- a/shell/evolution-storage.c +++ b/shell/evolution-storage.c @@ -608,25 +608,16 @@ free_mapping (gpointer key, gpointer value, gpointer user_data) } static void -impl_finalize (GObject *object) +impl_dispose (GObject *object) { EvolutionStorage *storage; EvolutionStoragePrivate *priv; CORBA_Environment ev; GList *p; - GSList *sp; storage = EVOLUTION_STORAGE (object); priv = storage->priv; - g_free (priv->name); - if (priv->folder_tree != NULL) - e_folder_tree_destroy (priv->folder_tree); - if (priv->uri_to_path != NULL) { - g_hash_table_foreach (priv->uri_to_path, free_mapping, NULL); - g_hash_table_destroy (priv->uri_to_path); - } - CORBA_exception_init (&ev); for (p = priv->corba_storage_listeners; p != NULL; p = p->next) { @@ -641,9 +632,32 @@ impl_finalize (GObject *object) } g_list_free (priv->corba_storage_listeners); + priv->corba_storage_listeners = NULL; CORBA_exception_free (&ev); + (* G_OBJECT_CLASS (parent_class)->dispose) (object); +} + +static void +impl_finalize (GObject *object) +{ + EvolutionStorage *storage; + EvolutionStoragePrivate *priv; + GList *p; + GSList *sp; + + storage = EVOLUTION_STORAGE (object); + priv = storage->priv; + + g_free (priv->name); + if (priv->folder_tree != NULL) + e_folder_tree_destroy (priv->folder_tree); + if (priv->uri_to_path != NULL) { + g_hash_table_foreach (priv->uri_to_path, free_mapping, NULL); + g_hash_table_destroy (priv->uri_to_path); + } + for (sp = priv->folder_property_items; p != NULL; p = p->next) { FolderPropertyItem *item; @@ -670,6 +684,7 @@ class_init (EvolutionStorageClass *klass) GObjectClass *object_class; object_class = G_OBJECT_CLASS (klass); + object_class->dispose = impl_dispose; object_class->finalize = impl_finalize; epv = & klass->epv; |