[core] Ensure that context resources are destroyed before context is destroyed

This commit is contained in:
John Firebaugh
2017-02-17 11:17:26 -08:00
parent 5354572620
commit 773f330774
2 changed files with 5 additions and 2 deletions

View File

@@ -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;
};

View File

@@ -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() {