aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorJames Gregory <james@james.id.au>2013-08-02 15:56:03 -0700
committerJames Gregory <james@james.id.au>2013-08-02 15:56:03 -0700
commitcf8e9ddc7a62fea13a6c0e10c6ff1fd09dc8577d (patch)
treecae07bd741ebfe51fbfaa4b323524d57deda6470 /src
parentafc5f4c379d036394345728a03b264fa0dca64d3 (diff)
Ensure glDeleteBuffers silently processes non-existent names, per spec.
Diffstat (limited to 'src')
-rw-r--r--src/library_gl.js7
1 files changed, 7 insertions, 0 deletions
diff --git a/src/library_gl.js b/src/library_gl.js
index d0f1a692..965feae6 100644
--- a/src/library_gl.js
+++ b/src/library_gl.js
@@ -636,6 +636,13 @@ var LibraryGL = {
for (var i = 0; i < n; i++) {
var id = {{{ makeGetValue('buffers', 'i*4', 'i32') }}};
var buffer = GL.buffers[id];
+
+ // From spec: "glDeleteBuffers silently ignores 0's and names that do not
+ // correspond to existing buffer objects."
+ if(buffer === null)
+ {
+ continue;
+ }
Module.ctx.deleteBuffer(buffer);
buffer.name = 0;
GL.buffers[id] = null;