diff options
Diffstat (limited to 'third_party/WebKit/Source/modules/webgl/WebGL2RenderingContextBase.cpp')
-rw-r--r-- | third_party/WebKit/Source/modules/webgl/WebGL2RenderingContextBase.cpp | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/third_party/WebKit/Source/modules/webgl/WebGL2RenderingContextBase.cpp b/third_party/WebKit/Source/modules/webgl/WebGL2RenderingContextBase.cpp index 87fddec..2e298a3a 100644 --- a/third_party/WebKit/Source/modules/webgl/WebGL2RenderingContextBase.cpp +++ b/third_party/WebKit/Source/modules/webgl/WebGL2RenderingContextBase.cpp @@ -1654,6 +1654,9 @@ WebGLQuery* WebGL2RenderingContextBase::createQuery() void WebGL2RenderingContextBase::deleteQuery(WebGLQuery* query) { + if (isContextLost() || !query) + return; + if (m_currentBooleanOcclusionQuery == query) { webContext()->endQueryEXT(m_currentBooleanOcclusionQuery->getTarget()); m_currentBooleanOcclusionQuery = nullptr; @@ -1678,6 +1681,11 @@ GLboolean WebGL2RenderingContextBase::isQuery(WebGLQuery* query) void WebGL2RenderingContextBase::beginQuery(GLenum target, WebGLQuery* query) { bool deleted; + if (!query) { + synthesizeGLError(GL_INVALID_OPERATION, "beginQuery", "query object is null"); + return; + } + if (!checkObjectToBeBound("beginQuery", query, deleted)) return; if (deleted) { |