summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--include/mbgl/map/backend.hpp3
-rw-r--r--platform/default/mbgl/gl/headless_backend.cpp4
2 files changed, 5 insertions, 2 deletions
diff --git a/include/mbgl/map/backend.hpp b/include/mbgl/map/backend.hpp
index a7c78cf03d..4a43921c0b 100644
--- a/include/mbgl/map/backend.hpp
+++ b/include/mbgl/map/backend.hpp
@@ -41,8 +41,7 @@ protected:
virtual void activate() = 0;
virtual void deactivate() = 0;
-private:
- const std::unique_ptr<gl::Context> context;
+ std::unique_ptr<gl::Context> context;
friend class BackendScope;
};
diff --git a/platform/default/mbgl/gl/headless_backend.cpp b/platform/default/mbgl/gl/headless_backend.cpp
index 61225d54a1..c105fd6b84 100644
--- a/platform/default/mbgl/gl/headless_backend.cpp
+++ b/platform/default/mbgl/gl/headless_backend.cpp
@@ -1,5 +1,7 @@
#include <mbgl/gl/headless_backend.hpp>
#include <mbgl/gl/headless_display.hpp>
+#include <mbgl/gl/context.hpp>
+#include <mbgl/map/backend_scope.hpp>
#include <cassert>
#include <stdexcept>
@@ -15,6 +17,8 @@ HeadlessBackend::HeadlessBackend(std::shared_ptr<HeadlessDisplay> display_)
}
HeadlessBackend::~HeadlessBackend() {
+ BackendScope scope(*this);
+ context.reset();
}
void HeadlessBackend::activate() {