From c89a15d9317c87fb0212809351dedd90b5994716 Mon Sep 17 00:00:00 2001 From: Nicolas Pope <nwpope@utu.fi> Date: Tue, 16 Jun 2020 16:44:57 +0300 Subject: [PATCH] Fixes for unit test fails --- components/streams/src/builder.cpp | 10 ++++++---- components/structures/src/new_frame.cpp | 2 ++ 2 files changed, 8 insertions(+), 4 deletions(-) diff --git a/components/streams/src/builder.cpp b/components/streams/src/builder.cpp index 91fa4cfa2..c0e159099 100644 --- a/components/streams/src/builder.cpp +++ b/components/streams/src/builder.cpp @@ -91,10 +91,12 @@ ftl::data::Frame &Builder::get(int64_t timestamp, size_t ix) { auto fs = _get(timestamp); if (ix >= fs->frames.size()) { - throw FTL_Error("Frame index out-of-bounds - " << ix << "(" << fs->frames.size() << ")"); - //while (fs->frames.size() < size_) { - // fs->frames.push_back(std::move(pool_->allocate(ftl::data::FrameID(fs->frameset(), + fs->frames.size()), fs->timestamp()))); - //} + //throw FTL_Error("Frame index out-of-bounds - " << ix << "(" << fs->frames.size() << ")"); + + // FIXME: This is really dangerous + while (fs->frames.size() < size_) { + fs->frames.push_back(std::move(pool_->allocate(ftl::data::FrameID(fs->frameset(), + fs->frames.size()), fs->timestamp()))); + } } //if (fs->frames.size() < size_) fs->frames.resize(size_); diff --git a/components/structures/src/new_frame.cpp b/components/structures/src/new_frame.cpp index fc4e92006..f969023fc 100644 --- a/components/structures/src/new_frame.cpp +++ b/components/structures/src/new_frame.cpp @@ -243,6 +243,8 @@ void Frame::merge(Frame &f) { d.status = ChannelStatus::VALID; touch(x.first); } + f.status_ = FrameStatus::RELEASED; + f.changed_.clear(); } void Frame::moveTo(Frame &f) { -- GitLab