forked from AuroraMiddleware/gtk
77fc6e3539
gtk_tree_model_build_level() always needs to emit row-inserted when requested, this should not depend on whether the level has a parent level or a virtual root, which is a check whether or not we need to reference the node in the child model. Furthermore, we also need to emit row-has-child-toggled after row-inserted when appropriate. When gtk_tree_model_filter_row_changed() pulls in the root level, it must request build_level() to emit signals for this. The refilter function uses row_changed to process the changes, so build_level() in the first call to row_changed() might pull in multiple new nodes in this scenario, for all of these signals need to be emitted. Of course, build_level() will then also emit the signals for the node row_changed() is processing, we should not emit a duplicate signal, this is now accounted for. Add a unit test for this. For this small functionality to block the row-changed signal has been implemented, so that we can simulate calls to the refilter function using the current visible column setup. |
||
---|---|---|
.. | ||
builder.c | ||
crossingevents.c | ||
defaultvalue.c | ||
expander.c | ||
filechooser.c | ||
filtermodel.c | ||
floating.c | ||
liststore.c | ||
Makefile.am | ||
object.c | ||
pixbuf-init.c | ||
recentmanager.c | ||
testing.c | ||
textbuffer.c | ||
treestore.c | ||
treeview-scrolling.c | ||
treeview.c |