[core] Ensure that context resources are destroyed before context is destroyed
This commit is contained in:
@@ -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;
|
||||
};
|
||||
|
||||
@@ -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() {
|
||||
|
||||
Reference in New Issue
Block a user