void WebGLContextGroup::loseContextGroup(WebGLRenderingContext::LostContextMode mode) { for (HashSet<WebGLRenderingContext*>::iterator it = m_contexts.begin(); it != m_contexts.end(); ++it) (*it)->loseContextImpl(mode); detachAndRemoveAllObjects(); }
void WebGLContextGroup::removeContext(WebGLRenderingContext* context) { // We must call detachAndRemoveAllObjects before removing the last context. if (m_contexts.size() == 1 && m_contexts.contains(context)) detachAndRemoveAllObjects(); m_contexts.remove(context); }
void WebGLContextGroup::loseContextGroup(WebGLRenderingContext::LostContextMode mode) { // Detach must happen before loseContextImpl, which destroys the GraphicsContext3D // and prevents groupObjects from being properly deleted. detachAndRemoveAllObjects(); for (HashSet<WebGLRenderingContext*>::iterator it = m_contexts.begin(); it != m_contexts.end(); ++it) (*it)->loseContextImpl(mode); }
void WebGLContextGroup::loseContextGroup(WebGLRenderingContextBase::LostContextMode mode, WebGLRenderingContextBase::AutoRecoveryMethod autoRecoveryMethod) { // Detach must happen before loseContextImpl, which destroys the GraphicsContext3D // and prevents groupObjects from being properly deleted. detachAndRemoveAllObjects(); for (WebGLRenderingContextBase* const context : m_contexts) context->loseContextImpl(mode, autoRecoveryMethod); }
WebGLContextGroup::~WebGLContextGroup() { detachAndRemoveAllObjects(); }
CanvasRenderingContext3D::~CanvasRenderingContext3D() { detachAndRemoveAllObjects(); }