aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlon Zakai <alonzakai@gmail.com>2013-08-08 13:54:42 -0700
committerAlon Zakai <alonzakai@gmail.com>2013-08-08 13:54:42 -0700
commit5888dfe3d8a84921baff02e4967348a58317526d (patch)
treef209fc7a67bf24ed5ea26427c2836f5770d9a156
parentd92a3ab59d8446d3e2fc7e38a7090f097bc5af82 (diff)
parent75760c7bffe20a62219fdb9ade9864b5f15ec58e (diff)
Merge pull request #1483 from juj/graceful_gl_fail
Graceful gl fail
-rw-r--r--src/library_egl.js9
-rw-r--r--src/library_glut.js2
2 files changed, 8 insertions, 3 deletions
diff --git a/src/library_egl.js b/src/library_egl.js
index 0ccb13e6..0e96e92f 100644
--- a/src/library_egl.js
+++ b/src/library_egl.js
@@ -260,8 +260,13 @@ var LibraryEGL = {
}
EGL.windowID = _glutCreateWindow();
- EGL.setErrorCode(0x3000 /* EGL_SUCCESS */);
- return 62004; // Magic ID for Emscripten EGLContext
+ if (EGL.windowID != 0) {
+ EGL.setErrorCode(0x3000 /* EGL_SUCCESS */);
+ return 62004; // Magic ID for Emscripten EGLContext
+ } else {
+ EGL.setErrorCode(0x3009 /* EGL_BAD_MATCH */); // By the EGL 1.4 spec, an implementation that does not support GLES2 (WebGL in this case), this error code is set.
+ return 0; /* EGL_NO_CONTEXT */
+ }
},
eglDestroyContext__deps: ['glutDestroyWindow', '$GL'],
diff --git a/src/library_glut.js b/src/library_glut.js
index 36d47787..29957e6f 100644
--- a/src/library_glut.js
+++ b/src/library_glut.js
@@ -385,7 +385,7 @@ var LibraryGLUT = {
glutCreateWindow__deps: ['$Browser'],
glutCreateWindow: function(name) {
Module.ctx = Browser.createContext(Module['canvas'], true, true);
- return 1;
+ return Module.ctx ? 1 /* a new GLUT window ID for the created context */ : 0 /* failure */;
},
glutDestroyWindow__deps: ['$Browser'],