Skip to content

Commit 88c08c3

Browse files
committed
fix: properly update changed state of observable set
1 parent 8ad1699 commit 88c08c3

File tree

1 file changed

+4
-0
lines changed

1 file changed

+4
-0
lines changed

src/main/kotlin/gg/skytils/skytilsmod/utils/ObservableSet.kt

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -36,6 +36,7 @@ class ObservableSet<E>(val backingSet: MutableSet<E>) : MutableSet<E> by backing
3636
override fun addAll(elements: Collection<E>): Boolean {
3737
return backingSet.addAll(elements).also {
3838
if (it) {
39+
setChanged()
3940
elements.forEach {
4041
notifyObservers(ObservableAddEvent(it))
4142
}
@@ -46,6 +47,7 @@ class ObservableSet<E>(val backingSet: MutableSet<E>) : MutableSet<E> by backing
4647
override fun remove(element: E): Boolean {
4748
return backingSet.remove(element).also {
4849
if (it) {
50+
setChanged()
4951
notifyObservers(ObservableRemoveEvent(element))
5052
}
5153
}
@@ -54,6 +56,7 @@ class ObservableSet<E>(val backingSet: MutableSet<E>) : MutableSet<E> by backing
5456
override fun removeAll(elements: Collection<E>): Boolean {
5557
return backingSet.removeAll(elements).also {
5658
if (it) {
59+
setChanged()
5760
elements.forEach {
5861
notifyObservers(ObservableRemoveEvent(it))
5962
}
@@ -64,6 +67,7 @@ class ObservableSet<E>(val backingSet: MutableSet<E>) : MutableSet<E> by backing
6467
override fun retainAll(elements: Collection<E>): Boolean {
6568
return backingSet.retainAll(elements).also {
6669
if (it) {
70+
setChanged()
6771
backingSet.forEach {
6872
notifyObservers(ObservableRemoveEvent(it))
6973
}

0 commit comments

Comments
 (0)