diff options
-rw-r--r-- | src/library_glut.js | 11 | ||||
-rw-r--r-- | tests/hello_world_gles.c | 2 |
2 files changed, 10 insertions, 3 deletions
diff --git a/src/library_glut.js b/src/library_glut.js index ca22ab87..8bb3cbc1 100644 --- a/src/library_glut.js +++ b/src/library_glut.js @@ -2,6 +2,7 @@ var LibraryGLUT = { $GLUT: { initTime: null, + idleFunc: null, displayFunc: null, keyboardFunc: null, keyboardUpFunc: null, @@ -265,7 +266,15 @@ var LibraryGLUT = { }, glutIdleFunc: function(func) { - window.setTimeout(FUNCTION_TABLE[func], 0); + callback = function() { + if (GLUT.idleFunc) { + FUNCTION_TABLE[GLUT.idleFunc](); + window.setTimeout(callback, 0); + } + } + if (!GLUT.idleFunc) + window.setTimeout(callback, 0); + GLUT.idleFunc = func; }, glutTimerFunc: function(msec, func, value) { diff --git a/tests/hello_world_gles.c b/tests/hello_world_gles.c index 1a8a2db6..2da85b6d 100644 --- a/tests/hello_world_gles.c +++ b/tests/hello_world_gles.c @@ -616,8 +616,6 @@ gears_idle(void) tRate0 = t; frames = 0; } - - glutIdleFunc (gears_idle); } static const char vertex_shader[] = |