From 99250ae23c2790ecf7f73e5ed6f9e7d34ac06e76 Mon Sep 17 00:00:00 2001
From: Janne Koschinski <janne@kuschku.de>
Date: Tue, 13 Sep 2016 18:22:31 +0200
Subject: [PATCH] Improved buffer updates

---
 .../quasseldroid_ng/ui/chat/drawer/NetworkItem.java | 13 +++++++++----
 1 file changed, 9 insertions(+), 4 deletions(-)

diff --git a/app/src/main/java/de/kuschku/quasseldroid_ng/ui/chat/drawer/NetworkItem.java b/app/src/main/java/de/kuschku/quasseldroid_ng/ui/chat/drawer/NetworkItem.java
index 399870d15..042de87f7 100644
--- a/app/src/main/java/de/kuschku/quasseldroid_ng/ui/chat/drawer/NetworkItem.java
+++ b/app/src/main/java/de/kuschku/quasseldroid_ng/ui/chat/drawer/NetworkItem.java
@@ -161,10 +161,15 @@ public class NetworkItem implements ParentListItem {
             public void notifyItemChanged(Integer element) {
                 Buffer buffer = NetworkItem.this.context.client().bufferManager().buffer(element);
                 if (buffer != null && buffer.getInfo().networkId == NetworkItem.this.network.networkId() && bufferList.contains(buffer)) {
-                    buffers.remove(bufferList.indexOf(buffer));
-                    bufferList.remove(buffer);
-                    buffers.add(buffer);
-                    bufferList.add(buffers.indexOf(buffer), buffer);
+                    int position = buffers.indexOf(buffer);
+                    if (position == -1) {
+                        buffers.remove(bufferList.indexOf(buffer));
+                        bufferList.remove(buffer);
+                        buffers.add(buffer);
+                        bufferList.add(buffers.indexOf(buffer), buffer);
+                    } else {
+                        buffers.notifyItemChanged(position);
+                    }
                 }
             }
         });
-- 
GitLab