]> Pileus Git - ~andy/gtk/commit
Bug 596580 - Blank rows in entry autocompletion
authorKristian Rietveld <kris@gtk.org>
Wed, 30 Sep 2009 08:19:07 +0000 (10:19 +0200)
committerKristian Rietveld <kris@gtk.org>
Wed, 30 Sep 2009 08:25:48 +0000 (10:25 +0200)
commit77fc6e35397d96c4a511d65dff58ce42e58a39ec
treea8a08dfccefbddde991126cb3119b343fc385410
parent3a69f6772bfa8a560e3fef557d292851a5da45a4
Bug 596580 - Blank rows in entry autocompletion

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.
gtk/gtktreemodelfilter.c
gtk/tests/filtermodel.c