Fix possible crash in reactions to dice messages.

Refresh media later in edition application, so that we don't destroy
MediaDice earlier than calling itemDataChanged and _dice is accessed.
This commit is contained in:
John Preston
2026-03-03 18:41:18 +04:00
parent 769da0ec15
commit 115017c8cd
@@ -2039,14 +2039,6 @@ void HistoryItem::applyEdition(HistoryMessageEdition &&edition) {
if (!edition.useSameMarkup) {
setReplyMarkup(base::take(edition.replyMarkup));
}
if (updatingSavedLocalEdit) {
Get<HistoryMessageSavedMediaData>()->media = edition.mtpMedia
? CreateMedia(this, *edition.mtpMedia)
: nullptr;
} else {
removeFromSharedMediaIndex();
refreshMedia(edition.mtpMedia);
}
if (!edition.useSameReactions) {
updateReactions(edition.mtpReactions);
}
@@ -2056,6 +2048,14 @@ void HistoryItem::applyEdition(HistoryMessageEdition &&edition) {
if (!edition.useSameForwards) {
setForwardsCount(edition.forwards);
}
if (updatingSavedLocalEdit) {
Get<HistoryMessageSavedMediaData>()->media = edition.mtpMedia
? CreateMedia(this, *edition.mtpMedia)
: nullptr;
} else {
removeFromSharedMediaIndex();
refreshMedia(edition.mtpMedia);
}
const auto &checkedMedia = updatingSavedLocalEdit
? Get<HistoryMessageSavedMediaData>()->media
: _media;