diff --git a/renderable.lisp b/renderable.lisp index 83ad32c6..738e7131 100644 --- a/renderable.lisp +++ b/renderable.lisp @@ -33,16 +33,16 @@ (let ((fc 0)) (declare (type fixnum fc)) (with-simple-restart (exit-render-loop "Exit the render loop entirely.") - (with-retry-restart (reset-render-loop "Reset the render loop timing, not catching up with lost frames.") - (let ((tt 0.0d0) - (dt (coerce (delta-time renderable) 'double-float)) - (current-time (current-time)) - (accumulator 0.0d0) - (new-time 0.0d0) - (frame-time 0.0d0)) - (declare (type double-float tt dt current-time - accumulator new-time frame-time)) - (unwind-protect + (unwind-protect + (with-retry-restart (reset-render-loop "Reset the render loop timing, not catching up with lost frames.") + (let ((tt 0.0d0) + (dt (coerce (delta-time renderable) 'double-float)) + (current-time (current-time)) + (accumulator 0.0d0) + (new-time 0.0d0) + (frame-time 0.0d0)) + (declare (type double-float tt dt current-time + accumulator new-time frame-time)) (with-error-logging (:trial.renderable "Error in render thread") (loop while (thread renderable) do (setf new-time (current-time)) @@ -58,5 +58,5 @@ (setf (frame-time renderable) frame-time) (with-simple-restart (abort "Abort the update and retry.") (render renderable renderable) - (incf fc)))) - (v:info :trial.renderable "Exiting render-loop for ~a." renderable))))))) + (incf fc)))))) + (v:info :trial.renderable "Exiting render-loop for ~a." renderable)))))