From b9401e03d341b3ba04f18b80f83135209ed9397b Mon Sep 17 00:00:00 2001 From: edwin Date: Fri, 19 Jun 2020 19:32:52 +0200 Subject: [PATCH] [orx-toggle] Fix bind for Toggle --- .../org/openrndr/panel/elements/Toggle.kt | 18 ++++++++++++------ 1 file changed, 12 insertions(+), 6 deletions(-) diff --git a/orx-panel/src/main/kotlin/org/openrndr/panel/elements/Toggle.kt b/orx-panel/src/main/kotlin/org/openrndr/panel/elements/Toggle.kt index ad7dec8f..df849f94 100644 --- a/orx-panel/src/main/kotlin/org/openrndr/panel/elements/Toggle.kt +++ b/orx-panel/src/main/kotlin/org/openrndr/panel/elements/Toggle.kt @@ -106,14 +106,20 @@ fun Toggle.bind(property: KMutableProperty0) { currentValue = it.newValue property.set(it.newValue) } - + if (root() as? Body == null) { + throw RuntimeException("no body") + } + fun update() { + if (property.get() != currentValue) { + val lcur = property.get() + currentValue = lcur + value = lcur + } + } + update() (root() as Body).controlManager.program.launch { while (!disposed) { - val cval = property.get() - if (cval != currentValue) { - currentValue = cval - value = cval - } + update() yield() } }