diff options
author | Behdad Esfahbod <behdad@behdad.org> | 2012-04-05 02:13:12 -0400 |
---|---|---|
committer | Behdad Esfahbod <behdad@behdad.org> | 2012-04-05 02:13:12 -0400 |
commit | 1a3f245ee6a4bc7427d81756b8bf8a0a72ac97fe (patch) | |
tree | d5372e05431b658db754126a82267cca14c4ba95 /src | |
parent | bcafbea2fccaaeb05cbeabbc84bf89fc234266c0 (diff) |
Fix glutIdleFunc()
glutIdleFunc() is auto-repeating until cancelled.
Diffstat (limited to 'src')
-rw-r--r-- | src/library_glut.js | 11 |
1 files changed, 10 insertions, 1 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) { |