diff --git a/libquassel-protocol/src/main/kotlin/de/justjanne/libquassel/protocol/util/StateHolderExtensions.kt b/libquassel-protocol/src/main/kotlin/de/justjanne/libquassel/protocol/util/StateHolderExtensions.kt index 5be23268476465225d8b9bc1f95a2f27ab3395e9..c2b466bc8291996a5f34e045787a7c916fafecc4 100644 --- a/libquassel-protocol/src/main/kotlin/de/justjanne/libquassel/protocol/util/StateHolderExtensions.kt +++ b/libquassel-protocol/src/main/kotlin/de/justjanne/libquassel/protocol/util/StateHolderExtensions.kt @@ -22,4 +22,7 @@ inline fun <T> Flow<StateHolder<T>?>.flatMap(): Flow<T?> = @ExperimentalCoroutinesApi inline fun <reified T> Flow<Iterable<StateHolder<T>>?>.combineLatest(): Flow<List<T>> = - flatMapLatest { combine(it?.map(StateHolder<T>::flow).orEmpty(), ::listOf) } + flatMapLatest { + if (it != null) combine(it.map(StateHolder<T>::flow), ::listOf) + else flowOf(emptyList()) + }