Fix crash in scheduled message in admin log.

Fixes #6495.
This commit is contained in:
John Preston 2019-09-06 12:20:12 +03:00
parent ee0f66d746
commit 8b766dda8e
4 changed files with 9 additions and 4 deletions

View File

@ -263,7 +263,7 @@ InnerWidget::InnerWidget(
subscribe(session().data().queryItemVisibility(), [=](
const Data::Session::ItemVisibilityQuery &query) {
if (_history != query.item->history()
|| query.item->isHistoryEntry()
|| !query.item->isAdminLogEntry()
|| !isVisible()) {
return;
}

View File

@ -357,8 +357,7 @@ void HistoryItem::addLogEntryOriginal(
WebPageId localId,
const QString &label,
const TextWithEntities &content) {
Expects(!isHistoryEntry());
Expects(!isScheduled());
Expects(isAdminLogEntry());
AddComponents(HistoryMessageLogEntryOriginal::Bit());
Get<HistoryMessageLogEntryOriginal>()->page = _history->owner().webpage(
@ -396,6 +395,10 @@ bool HistoryItem::isHistoryEntry() const {
|| (_clientFlags & MTPDmessage_ClientFlag::f_local_history_entry);
}
bool HistoryItem::isAdminLogEntry() const {
return (_clientFlags & MTPDmessage_ClientFlag::f_admin_log_entry);
}
bool HistoryItem::isFromScheduled() const {
return isHistoryEntry()
&& (_flags & MTPDmessage::Flag::f_from_scheduled);
@ -403,6 +406,7 @@ bool HistoryItem::isFromScheduled() const {
bool HistoryItem::isScheduled() const {
return !isHistoryEntry()
&& !isAdminLogEntry()
&& (_flags & MTPDmessage::Flag::f_from_scheduled);
}

View File

@ -86,6 +86,7 @@ public:
[[nodiscard]] UserData *viaBot() const;
[[nodiscard]] UserData *getMessageBot() const;
[[nodiscard]] bool isHistoryEntry() const;
[[nodiscard]] bool isAdminLogEntry() const;
[[nodiscard]] bool isFromScheduled() const;
[[nodiscard]] bool isScheduled() const;

View File

@ -702,7 +702,7 @@ QMargins WebPage::inBubblePadding() const {
}
bool WebPage::isLogEntryOriginal() const {
return !_parent->data()->isHistoryEntry() && _parent->media() != this;
return _parent->data()->isAdminLogEntry() && _parent->media() != this;
}
int WebPage::bottomInfoPadding() const {