Fix channel-based popups rewriting messages to file log (#4060)

Co-authored-by: pajlada <rasmus.karlsson@pajlada.com>
This commit is contained in:
xel86
2022-10-16 06:28:22 -04:00
committed by GitHub
parent 4152f0dccb
commit e8fd49aadb
4 changed files with 26 additions and 5 deletions
+14 -3
View File
@@ -130,12 +130,19 @@ void ReplyThreadPopup::addMessagesFromThread()
this->ui_.threadView->setChannel(virtualChannel);
this->ui_.threadView->setSourceChannel(sourceChannel);
virtualChannel->addMessage(this->thread_->root());
auto overrideFlags =
boost::optional<MessageFlags>(this->thread_->root()->flags);
overrideFlags->set(MessageFlag::DoNotLog);
virtualChannel->addMessage(this->thread_->root(), overrideFlags);
for (const auto &msgRef : this->thread_->replies())
{
if (auto msg = msgRef.lock())
{
virtualChannel->addMessage(msg);
auto overrideFlags = boost::optional<MessageFlags>(msg->flags);
overrideFlags->set(MessageFlag::DoNotLog);
virtualChannel->addMessage(msg, overrideFlags);
}
}
@@ -145,8 +152,12 @@ void ReplyThreadPopup::addMessagesFromThread()
[this, virtualChannel](MessagePtr &message, auto) {
if (message->replyThread == this->thread_)
{
auto overrideFlags =
boost::optional<MessageFlags>(message->flags);
overrideFlags->set(MessageFlag::DoNotLog);
// same reply thread, add message
virtualChannel->addMessage(message);
virtualChannel->addMessage(message, overrideFlags);
}
}));
}