aboutsummaryrefslogtreecommitdiffstats
path: root/widgets
diff options
context:
space:
mode:
Diffstat (limited to 'widgets')
-rw-r--r--widgets/e-table/ChangeLog7
-rw-r--r--widgets/e-table/TODO12
-rw-r--r--widgets/e-table/e-table-group-leaf.c6
-rw-r--r--widgets/e-table/e-table-group.c9
-rw-r--r--widgets/table/e-table-group-leaf.c6
-rw-r--r--widgets/table/e-table-group.c9
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,5 +1,12 @@
2000-03-04 Christopher James Lahey <clahey@helixcode.com>
+ * 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 <clahey@helixcode.com>
+
* e-table.c: Fixed a crash error.
2000-03-04 Christopher James Lahey <clahey@helixcode.com>
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);
}