aboutsummaryrefslogtreecommitdiffstats
path: root/widgets/table/e-tree-table-adapter.c
diff options
context:
space:
mode:
Diffstat (limited to 'widgets/table/e-tree-table-adapter.c')
-rw-r--r--widgets/table/e-tree-table-adapter.c18
1 files changed, 8 insertions, 10 deletions
diff --git a/widgets/table/e-tree-table-adapter.c b/widgets/table/e-tree-table-adapter.c
index f432dcc53a..4ee3c6f704 100644
--- a/widgets/table/e-tree-table-adapter.c
+++ b/widgets/table/e-tree-table-adapter.c
@@ -605,21 +605,18 @@ etta_proxy_node_changed (ETreeModel *etm, ETreePath path, ETreeTableAdapter *ett
int row = find_row_num(etta, path);
int size;
int old_size;
+ ETreeTableAdapterNode *node;
if (row == -1)
return;
size = array_size_from_path(etta, path);
- if (e_tree_model_node_is_expandable(etta->priv->source, path)) {
- ETreeTableAdapterNode *node = find_or_create_node(etta, path);
+
+ node = find_node(etta, path);
+ if (node)
old_size = node->num_visible_children + 1;
- } else {
- ETreeTableAdapterNode *node = find_node(etta, path);
- if (node)
- old_size = node->num_visible_children + 1;
- else
- old_size = 1;
- }
+ else
+ old_size = 1;
etta_expand_to(etta, etta->priv->n_map + size - old_size);
@@ -932,13 +929,13 @@ void e_tree_table_adapter_node_set_expanded (ETreeTableAdapter *etta, ET
return;
node = find_or_create_node(etta, path);
- row = find_row_num(etta, path);
if (expanded != node->expanded) {
e_table_model_pre_change (E_TABLE_MODEL(etta));
node->expanded = expanded;
+ row = find_row_num(etta, path);
if (row != -1) {
if (etta->priv->root_visible)
e_table_model_row_changed(E_TABLE_MODEL(etta), row);
@@ -961,6 +958,7 @@ void e_tree_table_adapter_node_set_expanded (ETreeTableAdapter *etta, ET
}
} else {
int num_children = node->num_visible_children;
+ g_assert (etta->priv->n_map >= row + 1 + num_children);
memmove(etta->priv->map_table + row + 1,
etta->priv->map_table + row + 1 + num_children,
(etta->priv->n_map - row - 1 - num_children) * sizeof (ETreePath));
tream release 1.0.1, fix build on 11.2riggs2018-08-259-189/+61 * The failure is on -CURRENT everywhere, but not on -11.linimon2018-06-261-2/+1 * Mark as broken on armvX.linimon2018-03-181-0/+3 * Remove libtiff.so.4 compatibility links that were added in r374303 totijl2016-12-091-1/+1 * Reset ports maintained by bf@ until he has time again to work on them.rene2016-06-281-1/+1 * math/blitz++: unbreak build on 11.0 and dragonflyjbeich2016-06-171-0/+16 * Remove ${PORTSDIR}/ from dependencies, categories m, n, o, and p.mat2016-04-011-2/+2