diff options
Diffstat (limited to 'guile')
-rw-r--r-- | guile/starlet/clock.scm | 10 |
1 files changed, 7 insertions, 3 deletions
diff --git a/guile/starlet/clock.scm b/guile/starlet/clock.scm index bd00d50..46dd316 100644 --- a/guile/starlet/clock.scm +++ b/guile/starlet/clock.scm @@ -145,9 +145,13 @@ (define-method (elapsed-fraction (clock <starlet-delayed-clock>)) - (min 1.0 - (/ (time-elapsed clock) - (get-duration clock)))) + (if (= (get-duration clock) 0) + (if (> (time-elapsed clock) 0) + 1.0 + 0.0) + (min 1.0 + (/ (time-elapsed clock) + (get-duration clock))))) (define-method (stop-clock! (clock <starlet-delayed-clock>)) |