diff options
author | Alon Zakai <alonzakai@gmail.com> | 2013-08-08 13:54:42 -0700 |
---|---|---|
committer | Alon Zakai <alonzakai@gmail.com> | 2013-08-08 13:54:42 -0700 |
commit | 5888dfe3d8a84921baff02e4967348a58317526d (patch) | |
tree | f209fc7a67bf24ed5ea26427c2836f5770d9a156 | |
parent | d92a3ab59d8446d3e2fc7e38a7090f097bc5af82 (diff) | |
parent | 75760c7bffe20a62219fdb9ade9864b5f15ec58e (diff) |
Merge pull request #1483 from juj/graceful_gl_fail
Graceful gl fail
-rw-r--r-- | src/library_egl.js | 9 | ||||
-rw-r--r-- | src/library_glut.js | 2 |
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'], |