diff --git a/impeller/geometry/path_builder.cc b/impeller/geometry/path_builder.cc index 5aa14d3093645..e6b8228f148d7 100644 --- a/impeller/geometry/path_builder.cc +++ b/impeller/geometry/path_builder.cc @@ -441,6 +441,13 @@ PathBuilder& PathBuilder::AddPath(const Path& path) { components.insert(components.end(), path.data_->components.begin(), path.data_->components.end()); + size_t source_offset = points.size(); + for (auto component : path.data_->components) { + if (component == Path::ComponentType::kContour) { + current_contour_location_ = source_offset; + } + source_offset += Path::VerbToOffset(component); + } return *this; } diff --git a/impeller/scene/node.h b/impeller/scene/node.h index 81d23553afaaf..9340dbef75100 100644 --- a/impeller/scene/node.h +++ b/impeller/scene/node.h @@ -7,8 +7,8 @@ #include #include -#include #include +#include #include "impeller/base/thread.h" #include "impeller/base/thread_safety.h"