[Webkit-unassigned] [Bug 116654] [BlackBerry] DRT - crashed on GraphicsContext3D::makeContextCurrent
bugzilla-daemon at webkit.org
bugzilla-daemon at webkit.org
Thu May 23 02:10:30 PDT 2013
https://bugs.webkit.org/show_bug.cgi?id=116654
--- Comment #5 from Arvid Nilsson <anilsson at rim.com> 2013-05-23 02:08:59 PST ---
(In reply to comment #4)
> (From update of attachment 202648 [details])
> Sorry for the misleading internal review - you should make the WebGLLayerWebKitThread::m_webGLContext a weak pointer rather than a ref pointer... Or fix it some other way...
In
GraphicsContext3D::~GraphicsContext3D()
{
if (m_texture) {
makeContextCurrent();
::glDeleteTextures(1, &m_texture);
if (m_attrs.stencil || m_attrs.depth)
::glDeleteRenderbuffers(1, &m_depthStencilBuffer);
::glDeleteFramebuffers(1, &m_fbo);
}
m_compositingLayer = 0; // Must release compositing layer before destroying the context.
BlackBerry::Platform::Graphics::destroyWebGLContext(m_context);
}
You can call some method on the m_compositingLayer, like m_compositingLayer->contextDestroyed(), before actually destroying the WebGL context. Something like this:
GraphicsContext3D::~GraphicsContext3D()
{
...
m_compositingLayer->webGLContextDestroyed();
BlackBerry::Platform::Graphics::destroyWebGLContext(m_context);
}
WebGLLayerWebKitThread::webGLContextDestroyed()
{
if (m_webGLContext && m_webGLContext->makeContextCurrent())
deleteFrontBuffer();
}
--
Configure bugmail: https://bugs.webkit.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug.
More information about the webkit-unassigned
mailing list