aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--widgets/table/e-tree-selection-model.c2
-rw-r--r--widgets/table/e-tree-table-adapter.c9
2 files changed, 8 insertions, 3 deletions
diff --git a/widgets/table/e-tree-selection-model.c b/widgets/table/e-tree-selection-model.c
index 6ae9f209a6..4c8a45c92d 100644
--- a/widgets/table/e-tree-selection-model.c
+++ b/widgets/table/e-tree-selection-model.c
@@ -750,7 +750,7 @@ etsm_row_foreach_cb (ETreePath path, gpointer user_data)
{
ModelAndCallback *mac = user_data;
int row = etsm_row_of_node(mac->etsm, path);
- if (row != -1)
+ if (row >= 0)
mac->callback(row, mac->closure);
}
diff --git a/widgets/table/e-tree-table-adapter.c b/widgets/table/e-tree-table-adapter.c
index caa513c4ad..bf15d1659b 100644
--- a/widgets/table/e-tree-table-adapter.c
+++ b/widgets/table/e-tree-table-adapter.c
@@ -999,8 +999,13 @@ int e_tree_table_adapter_row_of_node (ETreeTableAdapter *etta, ETreePath path
{
if (etta->priv->root_visible)
return find_row_num(etta, path);
- else
- return find_row_num(etta, path) - 1;
+ else {
+ int row_num = find_row_num (etta, path);
+ if (row_num != -1)
+ return row_num - 1;
+ else
+ return row_num;
+ }
}
gboolean e_tree_table_adapter_root_node_is_visible(ETreeTableAdapter *etta)