aboutsummaryrefslogtreecommitdiff
path: root/src/library_glut.js
diff options
context:
space:
mode:
authorBehdad Esfahbod <behdad@behdad.org>2012-04-05 02:13:12 -0400
committerBehdad Esfahbod <behdad@behdad.org>2012-04-05 02:13:12 -0400
commit1a3f245ee6a4bc7427d81756b8bf8a0a72ac97fe (patch)
treed5372e05431b658db754126a82267cca14c4ba95 /src/library_glut.js
parentbcafbea2fccaaeb05cbeabbc84bf89fc234266c0 (diff)
Fix glutIdleFunc()
glutIdleFunc() is auto-repeating until cancelled.
Diffstat (limited to 'src/library_glut.js')
-rw-r--r--src/library_glut.js11
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) {