From e1892ff3704553ca09eb9c1b4e0d140acf261980 Mon Sep 17 00:00:00 2001 From: Thomas Harte Date: Fri, 14 Feb 2020 23:16:44 -0500 Subject: [PATCH] Resolves crash upon File -> New..., Cancel; also ensures slow performance can't equal no progression. --- OSBindings/Mac/Clock Signal/Documents/MachineDocument.swift | 2 +- OSBindings/Mac/Clock Signal/Machine/CSMachine.mm | 6 +----- 2 files changed, 2 insertions(+), 6 deletions(-) diff --git a/OSBindings/Mac/Clock Signal/Documents/MachineDocument.swift b/OSBindings/Mac/Clock Signal/Documents/MachineDocument.swift index 72bfef8c2..54e85c1b0 100644 --- a/OSBindings/Mac/Clock Signal/Documents/MachineDocument.swift +++ b/OSBindings/Mac/Clock Signal/Documents/MachineDocument.swift @@ -84,7 +84,7 @@ class MachineDocument: } override func close() { - machine.stop() + machine?.stop() activityPanel?.setIsVisible(false) activityPanel = nil diff --git a/OSBindings/Mac/Clock Signal/Machine/CSMachine.mm b/OSBindings/Mac/Clock Signal/Machine/CSMachine.mm index 2130b06bb..58705ecb2 100644 --- a/OSBindings/Mac/Clock Signal/Machine/CSMachine.mm +++ b/OSBindings/Mac/Clock Signal/Machine/CSMachine.mm @@ -770,11 +770,7 @@ struct ActivityObserver: public Activity::Observer { // Grab the time now and, therefore, the amount of time since the timer last fired // (capped at half a second). const auto timeNow = Time::nanos_now(); - const auto duration = timeNow - lastTime; - if(duration > Time::Nanos(500'000'000)) { - lastTime = timeNow; - return; - } + const auto duration = std::min(timeNow - lastTime, Time::Nanos(10'000'000'000 / TICKS)); CGSize pixelSize; BOOL splitAndSync = NO;