diff options
-rw-r--r-- | progs/demos/reflect.c | 15 |
1 files changed, 11 insertions, 4 deletions
diff --git a/progs/demos/reflect.c b/progs/demos/reflect.c index 9a41a86083a..892930417e2 100644 --- a/progs/demos/reflect.c +++ b/progs/demos/reflect.c @@ -410,6 +410,15 @@ Idle(void) static void +UpdateIdleFunc(void) +{ + if (AnyAnimating()) + glutIdleFunc(Idle); + else + glutIdleFunc(NULL); +} + +static void Key(unsigned char key, int x, int y) { struct window *w = CurrentWindow(); @@ -436,14 +445,12 @@ Key(unsigned char key, int x, int y) case ' ': w->anim = !w->anim; w->t0 = -1; - if (AnyAnimating()) - glutIdleFunc(Idle); - else - glutIdleFunc(NULL); + UpdateIdleFunc(); glutPostRedisplay(); break; case 'n': CreateWindow(); + UpdateIdleFunc(); break; case 'k': KillWindow(w); |