From 199145784fd70130014f365ade66af96d9d6b82e Mon Sep 17 00:00:00 2001 From: mwilsnd <53413200+mwilsnd@users.noreply.github.com> Date: Tue, 6 Jun 2023 16:32:02 -0500 Subject: [PATCH] Fix drawable segment VAO leak (#1212) Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com> --- include/mbgl/gfx/drawable_impl.hpp | 2 ++ src/mbgl/gl/drawable_gl_impl.hpp | 2 ++ 2 files changed, 4 insertions(+) diff --git a/include/mbgl/gfx/drawable_impl.hpp b/include/mbgl/gfx/drawable_impl.hpp index 6ef0ddf60..78a2dd41e 100644 --- a/include/mbgl/gfx/drawable_impl.hpp +++ b/include/mbgl/gfx/drawable_impl.hpp @@ -10,6 +10,8 @@ struct Drawable::DrawSegment { : mode(mode_), segment(std::move(segment_)) {} + virtual ~DrawSegment() = default; + const gfx::DrawMode& getMode() const { return mode; } Segment& getSegment() { return segment; } diff --git a/src/mbgl/gl/drawable_gl_impl.hpp b/src/mbgl/gl/drawable_gl_impl.hpp index 0654b5cc1..3012eaa48 100644 --- a/src/mbgl/gl/drawable_gl_impl.hpp +++ b/src/mbgl/gl/drawable_gl_impl.hpp @@ -53,6 +53,8 @@ struct DrawableGL::DrawSegmentGL final : public gfx::Drawable::DrawSegment { : gfx::Drawable::DrawSegment(mode_, std::move(segment_)), vertexArray(std::move(vertexArray_)) {} + ~DrawSegmentGL() override = default; + const VertexArray& getVertexArray() const { return vertexArray; } void setVertexArray(VertexArray&& value) { vertexArray = std::move(value); }