From 7015f0f4e95a2ce2db9abdc2b347e7b6ad3c5737 Mon Sep 17 00:00:00 2001 From: Him188 Date: Mon, 6 Apr 2020 20:01:19 +0800 Subject: [PATCH] Fix `MessageChainBuilder.addAndCheckConstrainSingle` --- .../kotlin/net.mamoe.mirai/message/data/builder.kt | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/mirai-core/src/commonMain/kotlin/net.mamoe.mirai/message/data/builder.kt b/mirai-core/src/commonMain/kotlin/net.mamoe.mirai/message/data/builder.kt index 179d1c1e5..bd540c4e1 100644 --- a/mirai-core/src/commonMain/kotlin/net.mamoe.mirai/message/data/builder.kt +++ b/mirai-core/src/commonMain/kotlin/net.mamoe.mirai/message/data/builder.kt @@ -63,8 +63,13 @@ class MessageChainBuilder private constructor( } val key = element.key - container[container.indexOfFirst(firstConstrainSingleIndex) { it is ConstrainSingle<*> && it.key == key }] = - element + val index = container.indexOfFirst(firstConstrainSingleIndex) { it is ConstrainSingle<*> && it.key == key } + if (index != -1) { + container[index] = element + } else { + add(element) + } + return true } else { return container.add(element)