diff options
author | JP Rosevear <jpr@ximian.com> | 2003-04-11 23:13:38 +0800 |
---|---|---|
committer | JP Rosevear <jpr@src.gnome.org> | 2003-04-11 23:13:38 +0800 |
commit | 327954a4ec28403b1ff7eaaf830047e33317d05a (patch) | |
tree | bcf1d70e2ee6e16960a7b1b68df3aa2f36eab30e /widgets/table/e-table-one.c | |
parent | 730d7da9eb2cc54d9302754887f06f9c996efed7 (diff) | |
download | gsoc2013-evolution-327954a4ec28403b1ff7eaaf830047e33317d05a.tar.gz gsoc2013-evolution-327954a4ec28403b1ff7eaaf830047e33317d05a.tar.zst gsoc2013-evolution-327954a4ec28403b1ff7eaaf830047e33317d05a.zip |
free data here since we don't have source in finalize
2003-04-11 JP Rosevear <jpr@ximian.com>
* e-table-one.c (one_dispose): free data here since we don't have
source in finalize
svn path=/trunk/; revision=20817
Diffstat (limited to 'widgets/table/e-table-one.c')
-rw-r--r-- | widgets/table/e-table-one.c | 26 |
1 files changed, 15 insertions, 11 deletions
diff --git a/widgets/table/e-table-one.c b/widgets/table/e-table-one.c index 24ea978f19..123b45712d 100644 --- a/widgets/table/e-table-one.c +++ b/widgets/table/e-table-one.c @@ -136,26 +136,30 @@ one_finalize (GObject *object) { ETableOne *one = E_TABLE_ONE (object); + G_OBJECT_CLASS (parent_class)->finalize (object); +} + +static void +one_dispose (GObject *object) +{ + ETableOne *one = E_TABLE_ONE (object); + + if (one->data) { int i; int col_count; - col_count = e_table_model_column_count(one->source); + if (one->source) { + col_count = e_table_model_column_count(one->source); - for (i = 0; i < col_count; i++) - e_table_model_free_value(one->source, i, one->data[i]); + for (i = 0; i < col_count; i++) + e_table_model_free_value(one->source, i, one->data[i]); + } + g_free (one->data); } one->data = NULL; - G_OBJECT_CLASS (parent_class)->finalize (object); -} - -static void -one_dispose (GObject *object) -{ - ETableOne *one = E_TABLE_ONE (object); - if (one->source) g_object_unref(one->source); one->source = NULL; |