From b6c85aed10bad331c1df1bc010877d6a70135cb5 Mon Sep 17 00:00:00 2001
From: Janne Koschinski <janne@kuschku.de>
Date: Sat, 10 Mar 2018 20:19:11 +0100
Subject: [PATCH] Attempt to correct join/part issue

---
 .../kuschku/libquassel/quassel/syncables/IrcChannel.kt | 10 +++++-----
 .../quassel/syncables/interfaces/IIrcChannel.kt        |  4 ++--
 2 files changed, 7 insertions(+), 7 deletions(-)

diff --git a/lib/src/main/java/de/kuschku/libquassel/quassel/syncables/IrcChannel.kt b/lib/src/main/java/de/kuschku/libquassel/quassel/syncables/IrcChannel.kt
index 00d03abd5..b7ff9e364 100644
--- a/lib/src/main/java/de/kuschku/libquassel/quassel/syncables/IrcChannel.kt
+++ b/lib/src/main/java/de/kuschku/libquassel/quassel/syncables/IrcChannel.kt
@@ -307,14 +307,14 @@ class IrcChannel(
     removeUserMode(network().ircUser(nick), mode)
   }
 
-  override fun addChannelMode(mode: Char, value: String) {
+  override fun addChannelMode(mode: Char, value: String?) {
     when (network().channelModeType(mode)) {
       INetwork.ChannelModeType.A_CHANMODE     ->
-        _A_channelModes.getOrPut(mode, ::mutableSetOf).add(value)
+        _A_channelModes.getOrPut(mode, ::mutableSetOf).add(value!!)
       INetwork.ChannelModeType.B_CHANMODE     ->
-        _B_channelModes[mode] = value
+        _B_channelModes[mode] = value!!
       INetwork.ChannelModeType.C_CHANMODE     ->
-        _C_channelModes[mode] = value
+        _C_channelModes[mode] = value!!
       INetwork.ChannelModeType.D_CHANMODE     ->
         _D_channelModes.add(mode)
       INetwork.ChannelModeType.NOT_A_CHANMODE ->
@@ -323,7 +323,7 @@ class IrcChannel(
     super.addChannelMode(mode, value)
   }
 
-  override fun removeChannelMode(mode: Char, value: String) {
+  override fun removeChannelMode(mode: Char, value: String?) {
     when (network().channelModeType(mode)) {
       INetwork.ChannelModeType.A_CHANMODE     ->
         _A_channelModes.getOrPut(mode, ::mutableSetOf).remove(value)
diff --git a/lib/src/main/java/de/kuschku/libquassel/quassel/syncables/interfaces/IIrcChannel.kt b/lib/src/main/java/de/kuschku/libquassel/quassel/syncables/interfaces/IIrcChannel.kt
index 18070d0ea..d0bcbd415 100644
--- a/lib/src/main/java/de/kuschku/libquassel/quassel/syncables/interfaces/IIrcChannel.kt
+++ b/lib/src/main/java/de/kuschku/libquassel/quassel/syncables/interfaces/IIrcChannel.kt
@@ -16,7 +16,7 @@ interface IIrcChannel : ISyncableObject {
   fun initSetProperties(properties: QVariantMap)
 
   @Slot
-  fun addChannelMode(mode: Char, value: String) {
+  fun addChannelMode(mode: Char, value: String?) {
     SYNC("addChannelMode", ARG(mode, Type.QChar), ARG(value, Type.QString))
   }
 
@@ -47,7 +47,7 @@ interface IIrcChannel : ISyncableObject {
   }
 
   @Slot
-  fun removeChannelMode(mode: Char, value: String) {
+  fun removeChannelMode(mode: Char, value: String?) {
     SYNC("removeChannelMode", ARG(mode, Type.QChar), ARG(value, Type.QString))
   }
 
-- 
GitLab