Fixed possible rare crash from voice messages with ttl.
This commit is contained in:
parent
bb31357c58
commit
3b50bc71b3
|
@ -346,7 +346,8 @@ Document::Document(
|
|||
::Media::Player::instance()->tracksFinished(
|
||||
) | rpl::filter([=](AudioMsgId::Type type) {
|
||||
return (type == AudioMsgId::Type::Voice);
|
||||
}) | rpl::to_empty
|
||||
}) | rpl::to_empty,
|
||||
::Media::Player::instance()->stops(AudioMsgId::Type::Voice)
|
||||
) | rpl::start_with_next([=]() mutable {
|
||||
_drawTtl = nullptr;
|
||||
const auto item = _parent->data();
|
||||
|
@ -917,7 +918,7 @@ void Document::draw(
|
|||
.highlight = highlightRequest ? &*highlightRequest : nullptr,
|
||||
});
|
||||
}
|
||||
if (_parent->data()->media()->ttlSeconds()) {
|
||||
if (_parent->data()->media() && _parent->data()->media()->ttlSeconds()) {
|
||||
const auto &fg = context.outbg
|
||||
? st::historyFileOutIconFg
|
||||
: st::historyFileInIconFg;
|
||||
|
|
|
@ -755,7 +755,6 @@ void MainWidget::handleAudioUpdate(const Media::Player::TrackState &state) {
|
|||
const auto item = session().data().message(state.id.contextId());
|
||||
if (!Media::Player::IsStoppedOrStopping(state.state)) {
|
||||
const auto ttlSeconds = item
|
||||
&& !item->out()
|
||||
&& item->media()
|
||||
&& item->media()->ttlSeconds();
|
||||
if (!ttlSeconds) {
|
||||
|
|
Loading…
Reference in New Issue