From 9476b70a26e62f1a58570937c8affab0b338bf03 Mon Sep 17 00:00:00 2001 From: Mike Dosey Date: Tue, 20 Sep 2011 01:31:44 +0000 Subject: [PATCH] Avoiding a divide-by-zero exception in CalibratingTimer when Perf.highResFrequency() returns 0 on certain machines. git-svn-id: svn+ssh://src.earth.threerings.net/nenya/trunk@1179 ed5b42cb-e716-0410-a449-f6a68f950b19 --- .../java/com/threerings/media/timer/CalibratingTimer.java | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/src/main/java/com/threerings/media/timer/CalibratingTimer.java b/src/main/java/com/threerings/media/timer/CalibratingTimer.java index 8cb31698..493088c4 100644 --- a/src/main/java/com/threerings/media/timer/CalibratingTimer.java +++ b/src/main/java/com/threerings/media/timer/CalibratingTimer.java @@ -54,7 +54,13 @@ public abstract class CalibratingTimer // documentation inherited from interface public long getElapsedMicros () { - return elapsed() / _microDivider; + // Some machines will have set _microDivider to 0 + if (_microDivider == 0) { + // Just convert our millisecond value instead + return getElapsedMillis() * 1000; + } else { + return elapsed() / _microDivider; + } } // documentation inherited from interface