diff options
author | Christopher James Lahey <clahey@ximian.com> | 2001-08-04 11:14:49 +0800 |
---|---|---|
committer | Chris Lahey <clahey@src.gnome.org> | 2001-08-04 11:14:49 +0800 |
commit | edd997c8894491c74b9b908cbd1e5e9036d1c9c2 (patch) | |
tree | 0d1a2695da3825466ce54629214956a3a46bdca6 /widgets/table | |
parent | a874d1e407014751ae72957679c89dc6bbe2f679 (diff) | |
download | gsoc2013-evolution-edd997c8894491c74b9b908cbd1e5e9036d1c9c2.tar.gz gsoc2013-evolution-edd997c8894491c74b9b908cbd1e5e9036d1c9c2.tar.zst gsoc2013-evolution-edd997c8894491c74b9b908cbd1e5e9036d1c9c2.zip |
e_tree_table_adapter_node_at_row would have pulled data from one past the
2001-08-03 Christopher James Lahey <clahey@ximian.com>
* e-tree-table-adapter.c (e_tree_table_adapter_node_at_row):
e_tree_table_adapter_node_at_row would have pulled data from one
past the end of its array if you asked it to and the root was
hidden. Fixed it. Fixes Ximian bug #4761.
svn path=/trunk/; revision=11647
Diffstat (limited to 'widgets/table')
-rw-r--r-- | widgets/table/e-tree-table-adapter.c | 14 |
1 files changed, 8 insertions, 6 deletions
diff --git a/widgets/table/e-tree-table-adapter.c b/widgets/table/e-tree-table-adapter.c index 99c312c805..f432dcc53a 100644 --- a/widgets/table/e-tree-table-adapter.c +++ b/widgets/table/e-tree-table-adapter.c @@ -994,12 +994,14 @@ ETreePath e_tree_table_adapter_node_at_row (ETreeTableAdapter *etta, int row) { if (row < 0) return NULL; - if (row >= etta->priv->n_map) - return NULL; - if (etta->priv->root_visible) - return etta->priv->map_table[row]; - else - return etta->priv->map_table[row + 1]; + if (etta->priv->root_visible) { + if (row < etta->priv->n_map) + return etta->priv->map_table[row]; + } else { + if (row + 1 < etta->priv->n_map) + return etta->priv->map_table[row + 1]; + } + return NULL; } int e_tree_table_adapter_row_of_node (ETreeTableAdapter *etta, ETreePath path) |