diff --git a/Telegram/SourceFiles/history/history_item.cpp b/Telegram/SourceFiles/history/history_item.cpp index 5666402e65..58355a8c16 100644 --- a/Telegram/SourceFiles/history/history_item.cpp +++ b/Telegram/SourceFiles/history/history_item.cpp @@ -619,8 +619,8 @@ bool HistoryItem::allowsEdit(TimeId now) const { return false; } -bool HistoryItem::canStopPoll() const { - if (!isRegular() +bool HistoryItem::canBeEdited() const { + if ((!isRegular() && !isScheduled()) || Has() || Has()) { return false; @@ -641,6 +641,10 @@ bool HistoryItem::canStopPoll() const { return out(); } +bool HistoryItem::canStopPoll() const { + return canBeEdited() && isRegular(); +} + bool HistoryItem::canDelete() const { if (isSponsored()) { return false; diff --git a/Telegram/SourceFiles/history/history_item.h b/Telegram/SourceFiles/history/history_item.h index b763116e6a..585be30482 100644 --- a/Telegram/SourceFiles/history/history_item.h +++ b/Telegram/SourceFiles/history/history_item.h @@ -373,6 +373,7 @@ public: } [[nodiscard]] bool canPin() const; + [[nodiscard]] bool canBeEdited() const; [[nodiscard]] bool canStopPoll() const; [[nodiscard]] virtual bool allowsSendNow() const; [[nodiscard]] virtual bool allowsForward() const; diff --git a/Telegram/SourceFiles/history/history_message.cpp b/Telegram/SourceFiles/history/history_message.cpp index 858cf887a0..f6c1542c43 100644 --- a/Telegram/SourceFiles/history/history_message.cpp +++ b/Telegram/SourceFiles/history/history_message.cpp @@ -1048,7 +1048,7 @@ bool HistoryMessage::isTooOldForEdit(TimeId now) const { } bool HistoryMessage::allowsEdit(TimeId now) const { - return canStopPoll() + return canBeEdited() && !isTooOldForEdit(now) && (!_media || _media->allowsEdit()) && !isLegacyMessage()