Fixed crash when closing forum message item in activity stream with set as read and remove

This commit is contained in:
thunder2 2022-08-04 12:48:44 +02:00
parent bc03a9b019
commit 807232ffa5
2 changed files with 10 additions and 8 deletions

View File

@ -411,7 +411,7 @@ void GxsForumMsgItem::doExpand(bool open)
ui->parentFrame->show();
}
setAsRead();
setAsRead(true);
}
else
{
@ -459,7 +459,7 @@ void GxsForumMsgItem::readAndClearItem()
std::cerr << std::endl;
#endif
setAsRead();
setAsRead(false);
removeItem();
}
@ -473,7 +473,7 @@ void GxsForumMsgItem::unsubscribeForum()
unsubscribe();
}
void GxsForumMsgItem::setAsRead()
void GxsForumMsgItem::setAsRead(bool doUpdate)
{
if (mInFill) {
return;
@ -481,14 +481,16 @@ void GxsForumMsgItem::setAsRead()
mCloseOnRead = false;
RsThread::async( [this]() {
RsThread::async( [this, doUpdate]() {
RsGxsGrpMsgIdPair msgPair = std::make_pair(groupId(), messageId());
rsGxsForums->markRead(msgPair, true);
RsQThreadUtils::postToObject( [this]() {
setReadStatus(false, true);
} );
if (doUpdate) {
RsQThreadUtils::postToObject( [this]() {
setReadStatus(false, true);
} );
}
});
}

View File

@ -82,7 +82,7 @@ private:
void fillParentMessage();
void fillExpandFrame();
void setReadStatus(bool isNew, bool isUnread);
void setAsRead();
void setAsRead(bool doUpdate);
private:
bool mInFill;