From f7db1b5c546d0e850ca63494e8355775e7b98cb6 Mon Sep 17 00:00:00 2001 From: Jakob K Date: Mon, 29 Mar 2021 22:07:34 +0200 Subject: [PATCH] Update GuiProperty.kt --- .../net/axay/fabrik/igui/observable/GuiProperty.kt | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/fabrikmc-igui/src/main/kotlin/net/axay/fabrik/igui/observable/GuiProperty.kt b/fabrikmc-igui/src/main/kotlin/net/axay/fabrik/igui/observable/GuiProperty.kt index 7901080c..0da50936 100644 --- a/fabrikmc-igui/src/main/kotlin/net/axay/fabrik/igui/observable/GuiProperty.kt +++ b/fabrikmc-igui/src/main/kotlin/net/axay/fabrik/igui/observable/GuiProperty.kt @@ -1,5 +1,7 @@ package net.axay.fabrik.igui.observable +import kotlinx.coroutines.sync.Mutex +import kotlinx.coroutines.sync.withLock import kotlin.reflect.KProperty class GuiProperty( @@ -15,4 +17,13 @@ class GuiProperty( this.value = value invokeListeners() } + + private val setValueMutex = Mutex() + + suspend fun setValueSuspending(value: T) { + setValueMutex.withLock { + this.value = value + } + invokeListeners() + } }