[core] send signal to RenderCustomLayer when gl context has been lost
- Prevents cleaning up of GL resources that no longer exist, resulting in a crash
This commit is contained in:
committed by
Ivo van Dongen
parent
67285f3a95
commit
bda6ed26c6
@@ -62,6 +62,17 @@ Renderer::Impl::Impl(RendererBackend& backend_,
|
||||
|
||||
Renderer::Impl::~Impl() {
|
||||
assert(BackendScope::exists());
|
||||
|
||||
if (contextLost) {
|
||||
// Signal all RenderCustomLayers that the context was lost
|
||||
// before cleaning up
|
||||
for (const auto& entry : renderLayers) {
|
||||
RenderLayer& layer = *entry.second;
|
||||
if (layer.is<RenderCustomLayer>()) {
|
||||
layer.as<RenderCustomLayer>()->markContextDestroyed();
|
||||
}
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
void Renderer::Impl::setObserver(RendererObserver* observer_) {
|
||||
|
||||
Reference in New Issue
Block a user