1
0
mirror of https://github.com/TomHarte/CLK.git synced 2025-07-26 04:24:18 +00:00

Ensures a machine exists before messaging it.

This commit is contained in:
Thomas Harte
2019-03-02 21:27:34 -05:00
parent 5b56ad0d78
commit 2beeaa513b
2 changed files with 16 additions and 14 deletions

View File

@@ -68,7 +68,7 @@
</AdditionalOptions> </AdditionalOptions>
</TestAction> </TestAction>
<LaunchAction <LaunchAction
buildConfiguration = "Release" buildConfiguration = "Debug"
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB" selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB" selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
enableASanStackUseAfterReturn = "YES" enableASanStackUseAfterReturn = "YES"

View File

@@ -199,20 +199,22 @@ class MachineDocument:
// MARK: CSOpenGLViewDelegate // MARK: CSOpenGLViewDelegate
final func openGLViewRedraw(_ view: CSOpenGLView, event redrawEvent: CSOpenGLViewRedrawEvent) { final func openGLViewRedraw(_ view: CSOpenGLView, event redrawEvent: CSOpenGLViewRedrawEvent) {
switch redrawEvent { if let machine = self.machine {
case .timer: switch redrawEvent {
bestEffortLock.lock() case .timer:
if let bestEffortUpdater = bestEffortUpdater { bestEffortLock.lock()
bestEffortLock.unlock() if let bestEffortUpdater = bestEffortUpdater {
bestEffortUpdater.update() bestEffortLock.unlock()
} else { bestEffortUpdater.update()
bestEffortLock.unlock() } else {
} bestEffortLock.unlock()
self.machine.updateView(forPixelSize: view.backingSize) }
fallthrough machine.updateView(forPixelSize: view.backingSize)
fallthrough
case .appKit: case .appKit:
self.machine.drawView(forPixelSize: view.backingSize) machine.drawView(forPixelSize: view.backingSize)
}
} }
} }