From 77b51962b586f150d827c543d581b278caee0c9f Mon Sep 17 00:00:00 2001 From: Christopher James Lahey Date: Sat, 4 Mar 2000 21:22:23 +0000 Subject: Touched this up a bit. 2000-03-04 Christopher James Lahey * TODO: Touched this up a bit. * e-table-group.c, e-table-group-leaf.c: Check for NULL before calling gtk_object_unref or gtk_object_destroy. svn path=/trunk/; revision=2045 --- widgets/e-table/ChangeLog | 7 +++++++ widgets/e-table/TODO | 12 ++++++++---- widgets/e-table/e-table-group-leaf.c | 6 ++++-- widgets/e-table/e-table-group.c | 9 ++++++--- widgets/table/e-table-group-leaf.c | 6 ++++-- widgets/table/e-table-group.c | 9 ++++++--- 6 files changed, 35 insertions(+), 14 deletions(-) diff --git a/widgets/e-table/ChangeLog b/widgets/e-table/ChangeLog index 3c7b96f917..7ace7d30da 100644 --- a/widgets/e-table/ChangeLog +++ b/widgets/e-table/ChangeLog @@ -1,3 +1,10 @@ +2000-03-04 Christopher James Lahey + + * TODO: Touched this up a bit. + + * e-table-group.c, e-table-group-leaf.c: Check for NULL before + calling gtk_object_unref or gtk_object_destroy. + 2000-03-04 Christopher James Lahey * e-table.c: Fixed a crash error. diff --git a/widgets/e-table/TODO b/widgets/e-table/TODO index 461b21b4d3..051a31e370 100644 --- a/widgets/e-table/TODO +++ b/widgets/e-table/TODO @@ -6,7 +6,7 @@ Add threshold to compute a "global" size Implement the two methods for row finding: by full thing, or by a factor. -Add editing ++ Add editing mouse grabbing for scrolling @@ -25,7 +25,10 @@ mouse grabbing for scrolling -+ * Add an ETable::get_specification method to get the current layout informatino. +* Add an ETable::get_specification method to get the current layout information. + + * Add frozen_columns output. + * Add input and output of column widths and minimum column widths. * Add GUI sort @@ -46,11 +49,11 @@ mouse grabbing for scrolling * Create the menu object. * Hook up all the menu items. -* Add a possible columns GUI +* Add a possible column list GUI * Create ETableColumnList class. * Hook it up to ETableHeader. - * Figure out the correct semantics for requireing the connection between the ETableHeader and the ETableColumnList. + * Figure out the correct semantics for the connection between the ETableHeader and the ETableColumnList. * Implement widget display. * Implement drag&drop. @@ -64,6 +67,7 @@ mouse grabbing for scrolling * Data entry ("Click here to add...") + * Add "Allocate" to the ETableModel * Implement ETableDataEntry (a subclass of ETableModel). * Build GUI for the data entry model. This should be fairly simple. diff --git a/widgets/e-table/e-table-group-leaf.c b/widgets/e-table/e-table-group-leaf.c index 2e939453d7..a56fb3db6b 100644 --- a/widgets/e-table/e-table-group-leaf.c +++ b/widgets/e-table/e-table-group-leaf.c @@ -37,8 +37,10 @@ static void etgl_destroy (GtkObject *object) { ETableGroupLeaf *etgl = E_TABLE_GROUP_LEAF(object); - gtk_object_unref(GTK_OBJECT(etgl->subset)); - gtk_object_destroy(GTK_OBJECT(etgl->item)); + if ( etgl->subset ) + gtk_object_unref(GTK_OBJECT(etgl->subset)); + if ( etgl->item ) + gtk_object_destroy(GTK_OBJECT(etgl->item)); if ( GTK_OBJECT_CLASS (etgl_parent_class)->destroy ) GTK_OBJECT_CLASS (etgl_parent_class)->destroy (object); } diff --git a/widgets/e-table/e-table-group.c b/widgets/e-table/e-table-group.c index 6ae8a25db7..ef89efd9bd 100644 --- a/widgets/e-table/e-table-group.c +++ b/widgets/e-table/e-table-group.c @@ -69,9 +69,12 @@ static void etg_destroy (GtkObject *object) { ETableGroup *etg = E_TABLE_GROUP(object); - gtk_object_unref(GTK_OBJECT(etg->header)); - gtk_object_unref(GTK_OBJECT(etg->full_header)); - gtk_object_unref(GTK_OBJECT(etg->model)); + if ( etg->header ) + gtk_object_unref(GTK_OBJECT(etg->header)); + if ( etg->full_header ) + gtk_object_unref(GTK_OBJECT(etg->full_header)); + if ( etg->model ) + gtk_object_unref(GTK_OBJECT(etg->model)); if ( GTK_OBJECT_CLASS (etg_parent_class)->destroy ) GTK_OBJECT_CLASS (etg_parent_class)->destroy (object); } diff --git a/widgets/table/e-table-group-leaf.c b/widgets/table/e-table-group-leaf.c index 2e939453d7..a56fb3db6b 100644 --- a/widgets/table/e-table-group-leaf.c +++ b/widgets/table/e-table-group-leaf.c @@ -37,8 +37,10 @@ static void etgl_destroy (GtkObject *object) { ETableGroupLeaf *etgl = E_TABLE_GROUP_LEAF(object); - gtk_object_unref(GTK_OBJECT(etgl->subset)); - gtk_object_destroy(GTK_OBJECT(etgl->item)); + if ( etgl->subset ) + gtk_object_unref(GTK_OBJECT(etgl->subset)); + if ( etgl->item ) + gtk_object_destroy(GTK_OBJECT(etgl->item)); if ( GTK_OBJECT_CLASS (etgl_parent_class)->destroy ) GTK_OBJECT_CLASS (etgl_parent_class)->destroy (object); } diff --git a/widgets/table/e-table-group.c b/widgets/table/e-table-group.c index 6ae8a25db7..ef89efd9bd 100644 --- a/widgets/table/e-table-group.c +++ b/widgets/table/e-table-group.c @@ -69,9 +69,12 @@ static void etg_destroy (GtkObject *object) { ETableGroup *etg = E_TABLE_GROUP(object); - gtk_object_unref(GTK_OBJECT(etg->header)); - gtk_object_unref(GTK_OBJECT(etg->full_header)); - gtk_object_unref(GTK_OBJECT(etg->model)); + if ( etg->header ) + gtk_object_unref(GTK_OBJECT(etg->header)); + if ( etg->full_header ) + gtk_object_unref(GTK_OBJECT(etg->full_header)); + if ( etg->model ) + gtk_object_unref(GTK_OBJECT(etg->model)); if ( GTK_OBJECT_CLASS (etg_parent_class)->destroy ) GTK_OBJECT_CLASS (etg_parent_class)->destroy (object); } -- cgit v1.2.3