From c971fba7df0b2ba0739fefcd9eadb4f405eb44f0 Mon Sep 17 00:00:00 2001 From: "J.D. Purcell" <jdpurcell@gmail.com> Date: Thu, 15 Dec 2016 22:10:38 -0500 Subject: [PATCH] Prevent divide by zero. Would sometimes result in fSkipFrames being PositiveInfinity, which gets propagated to fSkipFramesError, resulting in the "while (fSkipFramesError <= -1.0f..." loop freezing. --- BizHawk.Client.EmuHawk/Throttle.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/BizHawk.Client.EmuHawk/Throttle.cs b/BizHawk.Client.EmuHawk/Throttle.cs index 8ae8117998..c528d02023 100644 --- a/BizHawk.Client.EmuHawk/Throttle.cs +++ b/BizHawk.Client.EmuHawk/Throttle.cs @@ -245,7 +245,7 @@ namespace BizHawk.Client.EmuHawk endticks = GetCurTime(); // calculate time since last frame - ulong diffticks = endticks - beginticks; + ulong diffticks = Math.Max(endticks - beginticks, 1); float diff = (float)diffticks / afsfreq; // calculate time since last frame not including throttle sleep time