From 69337c0e3eed3cb1f93ff18d07058ef82a5bd159 Mon Sep 17 00:00:00 2001 From: Thomas White Date: Sat, 1 Apr 2023 22:59:24 +0200 Subject: Scanout: Retrieve the combined state only once --- guile/starlet/engine.scm | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) (limited to 'guile/starlet/engine.scm') diff --git a/guile/starlet/engine.scm b/guile/starlet/engine.scm index 37656cb..6c43cf1 100644 --- a/guile/starlet/engine.scm +++ b/guile/starlet/engine.scm @@ -35,6 +35,7 @@ total-num-attrs register-state! current-value + current-value-state patched-fixture-names patched-fixtures)) @@ -56,6 +57,10 @@ (map get-fixture-name (atomic-box-ref fixtures))) +(define (current-value-state) + (atomic-box-ref current-values)) + + (define (patched-fixtures) (atomic-box-ref fixtures)) @@ -122,7 +127,7 @@ (define-method (current-value (fix ) (attr-name )) - (let ((v (state-find fix attr-name (atomic-box-ref current-values)))) + (let ((v (state-find fix attr-name (current-value-state)))) (if (eq? v 'no-value) (get-attr-home-val fix attr-name) v))) -- cgit v1.2.3