From 70fe66040fcac1411eacc495beae88cb66495ac7 Mon Sep 17 00:00:00 2001 From: David Thompson Date: Mon, 13 Sep 2021 08:22:14 -0400 Subject: Flush all SDL input events after running error handler. --- chickadee.scm | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) (limited to 'chickadee.scm') diff --git a/chickadee.scm b/chickadee.scm index bffb83c..9956b16 100644 --- a/chickadee.scm +++ b/chickadee.scm @@ -386,6 +386,11 @@ border is disabled, otherwise it is enabled.") (with-projection (atomic-box-ref default-projection) (draw alpha))) (sdl2:swap-gl-window (unwrap-window window))) + (define (on-error stack key args) + (error stack key args) + ;; Flush all input events that have occurred while in the error + ;; state. + (while (poll-event) #t)) (dynamic-wind (const #t) (lambda () @@ -408,7 +413,7 @@ border is disabled, otherwise it is enabled.") (scope-datadir "gamecontrollerdb.txt")) (run-game* #:update update-sdl #:render render-sdl-opengl - #:error error + #:error on-error #:time elapsed-time #:update-hz update-hz))) (lambda () -- cgit v1.2.3