aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlon Zakai <alonzakai@gmail.com>2013-08-06 09:51:58 -0700
committerAlon Zakai <alonzakai@gmail.com>2013-08-06 09:51:58 -0700
commit03f188018eb4f6e78eab21bb3253c7272dd4f120 (patch)
treed7decfb24e40e8059bbf7fbba1a2d704e60a4323
parent1f6e53c51376b7fc3457b32a3a3eeca0844ddd50 (diff)
parent69a8e2394e639d5283343c00aaf74c225670919a (diff)
Merge pull request #1459 from j4m3z0r/gl_delete_buffers_nocrash
Ensure glDeleteBuffers silently processes non-existent names, per spec.
-rw-r--r--src/library_gl.js5
1 files changed, 5 insertions, 0 deletions
diff --git a/src/library_gl.js b/src/library_gl.js
index 54b2f956..8c724245 100644
--- a/src/library_gl.js
+++ b/src/library_gl.js
@@ -636,6 +636,11 @@ 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) continue;
+
Module.ctx.deleteBuffer(buffer);
buffer.name = 0;
GL.buffers[id] = null;