diff options
-rw-r--r-- | widgets/table/e-tree-selection-model.c | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/widgets/table/e-tree-selection-model.c b/widgets/table/e-tree-selection-model.c index 05adb5a612..9cdf9e9d4a 100644 --- a/widgets/table/e-tree-selection-model.c +++ b/widgets/table/e-tree-selection-model.c @@ -890,6 +890,11 @@ static void etsm_select_all (ESelectionModel *selection) { ETreeSelectionModel *etsm = E_TREE_SELECTION_MODEL(selection); + ETreePath root; + + root = e_tree_model_get_root(E_TREE_MODEL(etsm->priv->ets)); + if (root == NULL) + return; etsm_real_clear (etsm); @@ -898,7 +903,7 @@ etsm_select_all (ESelectionModel *selection) etsm->priv->root->all_children_selected = TRUE; etsm->priv->root->any_children_selected = TRUE; - e_tree_selection_model_node_fill_children(etsm, e_tree_model_get_root(E_TREE_MODEL(etsm->priv->ets)), etsm->priv->root); + e_tree_selection_model_node_fill_children(etsm, root, etsm->priv->root); etsm->priv->root->all_children_selected_array = e_bit_array_new(etsm->priv->root->num_children); etsm->priv->root->any_children_selected_array = e_bit_array_new(etsm->priv->root->num_children); e_bit_array_select_all(etsm->priv->root->all_children_selected_array); |