aboutsummaryrefslogtreecommitdiffstats
path: root/addressbook/gui/component/select-names/e-select-names.c
diff options
context:
space:
mode:
authorChris Toshok <toshok@ximian.com>2002-11-09 11:11:33 +0800
committerChris Toshok <toshok@src.gnome.org>2002-11-09 11:11:33 +0800
commit0b1546202c75992262a3da84bcf8adf2c216022a (patch)
tree5ced1ebdf4adcf466a2f9b66f92097a240407b37 /addressbook/gui/component/select-names/e-select-names.c
parent2fb9565ed501cc57da1ca42ff540fd123c00ba48 (diff)
downloadgsoc2013-evolution-0b1546202c75992262a3da84bcf8adf2c216022a.tar
gsoc2013-evolution-0b1546202c75992262a3da84bcf8adf2c216022a.tar.gz
gsoc2013-evolution-0b1546202c75992262a3da84bcf8adf2c216022a.tar.bz2
gsoc2013-evolution-0b1546202c75992262a3da84bcf8adf2c216022a.tar.lz
gsoc2013-evolution-0b1546202c75992262a3da84bcf8adf2c216022a.tar.xz
gsoc2013-evolution-0b1546202c75992262a3da84bcf8adf2c216022a.tar.zst
gsoc2013-evolution-0b1546202c75992262a3da84bcf8adf2c216022a.zip
parent class is GObjectClass.
2002-11-08 Chris Toshok <toshok@ximian.com> * gui/component/select-names/e-select-names-model.h: parent class is GObjectClass. * gui/component/select-names/e-simple-card-bonobo.c (impl_dispose): guard against multiple invocations, and chain dispose. * gui/component/select-names/e-select-names.c (e_select_names_dispose): guard against multiple invocations. * gui/component/select-names/e-select-names-text-model.c (e_select_names_text_model_dispose): guard against multiple invocations. (e_select_names_text_model_set_source): fix casts. * gui/component/select-names/e-select-names-table-model.c (e_select_names_table_model_add_source): remove the GTK_OBJECT cast, fixes a warning. (clear_info): guard against multiple invocations from ::dispose. * gui/component/select-names/e-select-names-manager.c (e_select_names_manager_dispose): same. * gui/component/select-names/e-select-names-completion.c (e_select_names_completion_dispose): same. * gui/component/select-names/e-select-names-bonobo.c (impl_dispose): guard against multiple invocations. svn path=/trunk/; revision=18681
Diffstat (limited to 'addressbook/gui/component/select-names/e-select-names.c')
-rw-r--r--addressbook/gui/component/select-names/e-select-names.c37
1 files changed, 29 insertions, 8 deletions
diff --git a/addressbook/gui/component/select-names/e-select-names.c b/addressbook/gui/component/select-names/e-select-names.c
index aa11db902a..162343675d 100644
--- a/addressbook/gui/component/select-names/e-select-names.c
+++ b/addressbook/gui/component/select-names/e-select-names.c
@@ -592,16 +592,37 @@ e_select_names_dispose (GObject *object)
{
ESelectNames *e_select_names = E_SELECT_NAMES(object);
- g_object_unref(e_select_names->gui);
- g_hash_table_foreach(e_select_names->children, (GHFunc) e_select_names_child_free, e_select_names);
- g_hash_table_destroy(e_select_names->children);
- g_object_unref(e_select_names->without);
- g_object_unref(e_select_names->adapter);
- g_object_unref(e_select_names->model);
+ if (e_select_names->gui) {
+ g_object_unref(e_select_names->gui);
+ e_select_names->gui = NULL;
+ }
- g_free(e_select_names->def);
+ if (e_select_names->children) {
+ g_hash_table_foreach(e_select_names->children, (GHFunc) e_select_names_child_free, e_select_names);
+ g_hash_table_destroy(e_select_names->children);
+ e_select_names->children = NULL;
+ }
+
+ if (e_select_names->without) {
+ g_object_unref(e_select_names->without);
+ e_select_names->without = NULL;
+ }
+ if (e_select_names->adapter) {
+ g_object_unref(e_select_names->adapter);
+ e_select_names->adapter = NULL;
+ }
+ if (e_select_names->model) {
+ g_object_unref(e_select_names->model);
+ e_select_names->model = NULL;
+ }
+
+ if (e_select_names->def) {
+ g_free(e_select_names->def);
+ e_select_names->def = NULL;
+ }
- (*(G_OBJECT_CLASS(parent_class))->dispose)(object);
+ if (G_OBJECT_CLASS(parent_class)->dispose)
+ G_OBJECT_CLASS(parent_class)->dispose(object);
}
GtkWidget*