gtktreemodelfilter: rework gtk_tree_model_filter_remove_elt_from_level
The most important change is that the function now properly releases any external ref count and propagates these changes to the child model. If a node is removed due to a filtering action, we now properly release all external reference counts for its hierarchy of child nodes. Apart from that, the function has been restructured to remove code duplication. Finally, there is still some doubt whether there are more calls to gtk_tree_model_filter_free_level() which need unref_external set to TRUE.
Showing with 197 additions and 57 deletions