]> git.mxchange.org Git - simgear.git/commitdiff
Make sure that timer delay values are positive-definite, otherwise
authorandy <andy>
Wed, 17 Nov 2004 19:37:45 +0000 (19:37 +0000)
committerandy <andy>
Wed, 17 Nov 2004 19:37:45 +0000 (19:37 +0000)
user code that wants to use zero delay to mean "next frame" will get
stuck in an infinite loop.

simgear/structure/event_mgr.cxx

index 1ada33c83abcc80190620c9416079df66f704b01..c66f00ce2c594ecbc106ee08674752ad3d929078 100644 (file)
@@ -4,6 +4,10 @@ void SGEventMgr::add(SGCallback* cb,
                      double interval, double delay,
                      bool repeat, bool simtime)
 {
+    // Clamp the delay value to 1 usec, so that user code can use
+    // "zero" as a synonym for "next frame".
+    if(delay <= 0) delay = 0.000001;
+
     SGTimer* t = new SGTimer;
     t->interval = interval;
     t->callback = cb;