diff options
Diffstat (limited to 'src/filters.cc')
-rw-r--r-- | src/filters.cc | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/src/filters.cc b/src/filters.cc index 22231d18..276ecaba 100644 --- a/src/filters.cc +++ b/src/filters.cc @@ -291,7 +291,13 @@ void collapse_xacts::report_subtotal() { assert(count >= 1); - if (count == 1) { + std::size_t displayed_count = 0; + foreach (xact_t * xact, component_xacts) { + if (only_predicate(*xact) && display_predicate(*xact)) + displayed_count++; + } + + if (displayed_count == 1) { item_handler<xact_t>::operator()(*last_xact); } else if (only_collapse_if_zero && ! subtotal.is_zero()) { |