mirror of https://github.com/procxx/kepka.git
Fixed editing other messages when media is edited.
- Added new condition for skipping message in History::lastSentMessage. - Added reset of _savedMedia in HistoryMessage destructor.
This commit is contained in:
parent
f3102573ea
commit
5554867553
|
@ -2607,6 +2607,10 @@ HistoryItem *History::lastSentMessage() const {
|
||||||
for (const auto &block : ranges::view::reverse(blocks)) {
|
for (const auto &block : ranges::view::reverse(blocks)) {
|
||||||
for (const auto &message : ranges::view::reverse(block->messages)) {
|
for (const auto &message : ranges::view::reverse(block->messages)) {
|
||||||
const auto item = message->data();
|
const auto item = message->data();
|
||||||
|
// Skip if message is editing media.
|
||||||
|
if (item->isEditingMedia()) {
|
||||||
|
continue;
|
||||||
|
}
|
||||||
// Skip if message is video message or sticker.
|
// Skip if message is video message or sticker.
|
||||||
if (const auto media = item->media()) {
|
if (const auto media = item->media()) {
|
||||||
// Skip only if media is not webpage.
|
// Skip only if media is not webpage.
|
||||||
|
|
|
@ -619,7 +619,8 @@ bool HistoryMessage::allowsEdit(TimeId now) const {
|
||||||
return canStopPoll()
|
return canStopPoll()
|
||||||
&& !isTooOldForEdit(now)
|
&& !isTooOldForEdit(now)
|
||||||
&& (!_media || _media->allowsEdit())
|
&& (!_media || _media->allowsEdit())
|
||||||
&& !isUnsupportedMessage();
|
&& !isUnsupportedMessage()
|
||||||
|
&& !_isEditingMedia;
|
||||||
}
|
}
|
||||||
|
|
||||||
bool HistoryMessage::uploading() const {
|
bool HistoryMessage::uploading() const {
|
||||||
|
@ -768,6 +769,7 @@ void HistoryMessage::returnSavedMedia() {
|
||||||
} else {
|
} else {
|
||||||
history()->owner().requestItemViewRefresh(this);
|
history()->owner().requestItemViewRefresh(this);
|
||||||
}
|
}
|
||||||
|
_isEditingMedia = false;
|
||||||
}
|
}
|
||||||
|
|
||||||
void HistoryMessage::setMedia(const MTPMessageMedia &media) {
|
void HistoryMessage::setMedia(const MTPMessageMedia &media) {
|
||||||
|
@ -1166,6 +1168,7 @@ std::unique_ptr<HistoryView::Element> HistoryMessage::createView(
|
||||||
|
|
||||||
HistoryMessage::~HistoryMessage() {
|
HistoryMessage::~HistoryMessage() {
|
||||||
_media.reset();
|
_media.reset();
|
||||||
|
_savedMedia.reset();
|
||||||
if (auto reply = Get<HistoryMessageReply>()) {
|
if (auto reply = Get<HistoryMessageReply>()) {
|
||||||
reply->clearData(this);
|
reply->clearData(this);
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue