diff --git a/mirai-core/src/main/java/net/mamoe/mirai/network/protocol/tim/TIMBotNetworkHandler.kt b/mirai-core/src/main/java/net/mamoe/mirai/network/protocol/tim/TIMBotNetworkHandler.kt index 8a6c938a5..a4e9cdaec 100644 --- a/mirai-core/src/main/java/net/mamoe/mirai/network/protocol/tim/TIMBotNetworkHandler.kt +++ b/mirai-core/src/main/java/net/mamoe/mirai/network/protocol/tim/TIMBotNetworkHandler.kt @@ -111,8 +111,12 @@ internal class TIMBotNetworkHandler(private val bot: Bot) : BotNetworkHandler { return } - temporaryPacketHandlers.removeIf { - it.onPacketReceived(action.session, packet) + with(temporaryPacketHandlers.iterator()) { + while (hasNext()) { + if (next().onPacketReceived(action.session, packet)) { + remove() + } + } } //For debug