From c08f6ee68083aed6df557be44f8bb370eb94777c Mon Sep 17 00:00:00 2001 From: Carl Hetherington Date: Thu, 13 Apr 2023 23:40:25 +0200 Subject: Fix resolve_fonts() if it is called twice. --- src/interop_subtitle_asset.cc | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) (limited to 'src') diff --git a/src/interop_subtitle_asset.cc b/src/interop_subtitle_asset.cc index 0faf7bd5..4bf3958f 100644 --- a/src/interop_subtitle_asset.cc +++ b/src/interop_subtitle_asset.cc @@ -233,19 +233,19 @@ InteropSubtitleAsset::write (boost::filesystem::path p) const void InteropSubtitleAsset::resolve_fonts (vector> assets) { + _fonts.clear(); + for (auto asset: assets) { auto font = dynamic_pointer_cast(asset); if (!font) { continue; } - for (auto load_font_node: _load_font_nodes) { - auto iter = std::find_if(_fonts.begin(), _fonts.end(), [load_font_node](Font const& font) { return font.load_id == load_font_node->id; }); + DCP_ASSERT(_file); - DCP_ASSERT(_file); + for (auto load_font_node: _load_font_nodes) { auto const path_in_load_font_node = _file->parent_path() / load_font_node->uri; - - if (iter == _fonts.end() && font->file() && path_in_load_font_node == *font->file()) { + if (font->file() && path_in_load_font_node == *font->file()) { _fonts.push_back(Font(load_font_node->id, asset->id(), font->file().get())); } } -- cgit v1.2.3