From 7ff6ab60f4f72f0f849be3aad12b115b37518832 Mon Sep 17 00:00:00 2001 From: oakes Date: Mon, 21 Apr 2014 16:41:25 -0400 Subject: [PATCH] Move wrapper function so it can catch errors in lazy seqs --- src/play_clj/core.clj | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/src/play_clj/core.clj b/src/play_clj/core.clj index 1021a01..542bf97 100644 --- a/src/play_clj/core.clj +++ b/src/play_clj/core.clj @@ -54,12 +54,13 @@ (let [execute-fn! (fn [func & {:keys [] :as options}] (when func (let [old-entities @entities] - (some->> #(func (merge @screen options) old-entities) + (some->> #(some->> (func (merge @screen options) + old-entities) + list + flatten + (remove nil?) + vec) (wrapper screen) - list - flatten - (remove nil?) - vec (reset-changed! entities old-entities)))))] ; update screen when either the screen or entities are changed (add-watch screen :changed (fn [_ _ _ new-screen]