-
Kristian Rietveld authored
- Before we kept a reference on all nodes in non-root levels. This has been changed, now we keep a reference on the first node of each level. If, due to changes in the model, another node becomes the first node in the level, the reference is transferred to this new first node. - All non-root levels keep a reference on their parent. - By making use of the external ref count, the filter model now emits less unnecessary signals. - GtkTreeModelFilter does support filter functions which decide visibility of a given node based on the number of or visibility of children. To accomplish this, a child level of a node is cached when its parent has an external ref count > 0, because changes to the node might affect this parent. - An optimization for not building the root level in case the inserted node is not visible in gtk_tree_model_filter_row_inserted() has been removed. In this case, we still need to build the root level and possibly a child level to monitor for signals which might make this row visible.
88dd6372