From 182cd5b0b4f81688c99852c721de5645a03207cb Mon Sep 17 00:00:00 2001 From: Thomas Lauf Date: Wed, 22 Mar 2017 18:37:05 +0100 Subject: [PATCH] TI-67: Assign ids to intervals after flattening but before filtering --- src/data.cpp | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/src/data.cpp b/src/data.cpp index 2b453a57..2385f202 100644 --- a/src/data.cpp +++ b/src/data.cpp @@ -641,7 +641,7 @@ std::vector getTracked ( const Rules& rules, Interval& filter) { - auto inclusions = subset (filter, getAllInclusions (database)); + auto inclusions = getAllInclusions (database); // Exclusions are only usable within a range, so if no filter range exists, // determine the outermost range of the inclusions, ie: @@ -654,6 +654,13 @@ std::vector getTracked ( auto outer = outerRange (inclusions); if (outer.total ()) filter.range = outer; + + if (inclusions.size() > 0) { + auto latest = inclusions.back(); + if (latest.range.is_open()) {; + filter.range.end = 0; + } + } } // Get the set of expanded exclusions that overlap the range defined by the @@ -682,7 +689,7 @@ std::vector getTracked ( intervals[i].id = intervals.size () - i; debug (format ("Loaded {1} tracked intervals", intervals.size ())); - return intervals; + return subset (filter, intervals); } ////////////////////////////////////////////////////////////////////////////////