From ccb1bdf3412d2bd940d27bcb82ba8dbc7e9f2eba Mon Sep 17 00:00:00 2001
From: Janne Koschinski <janne@kuschku.de>
Date: Sat, 24 Mar 2018 18:59:17 +0100
Subject: [PATCH] Prevent Thread races by creating a copy

---
 .../kuschku/quasseldroid/ui/chat/buffers/BufferListAdapter.kt   | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/app/src/main/java/de/kuschku/quasseldroid/ui/chat/buffers/BufferListAdapter.kt b/app/src/main/java/de/kuschku/quasseldroid/ui/chat/buffers/BufferListAdapter.kt
index e720a1572..ca154ae8e 100644
--- a/app/src/main/java/de/kuschku/quasseldroid/ui/chat/buffers/BufferListAdapter.kt
+++ b/app/src/main/java/de/kuschku/quasseldroid/ui/chat/buffers/BufferListAdapter.kt
@@ -62,12 +62,12 @@ class BufferListAdapter(
   init {
     liveData.zip(collapsedNetworks.toLiveData(), selectedBuffer.toLiveData()).observe(
       lifecycleOwner, Observer { it: Triple<List<BufferProps>?, Set<NetworkId>, BufferId>? ->
+      val old: List<BufferListItem> = ArrayList(data)
       runInBackground {
         val list = it?.first ?: emptyList()
         val collapsedNetworks = it?.second ?: emptySet()
         val selected = it?.third ?: -1
 
-        val old: List<BufferListItem> = data
         val new: List<BufferListItem> = list.sortedBy { props ->
           !props.info.type.hasFlag(Buffer_Type.StatusBuffer)
         }.sortedBy { props ->
-- 
GitLab