From 2ce4abfdfe49fe4600406f42bff4e98ded2faae3 Mon Sep 17 00:00:00 2001 From: John Preston Date: Sun, 10 Mar 2019 12:01:12 +0400 Subject: [PATCH] Fix crash in media caching. --- .../SourceFiles/media/streaming/media_streaming_reader.cpp | 1 + .../SourceFiles/media/streaming/media_streaming_reader.h | 6 +++--- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/Telegram/SourceFiles/media/streaming/media_streaming_reader.cpp b/Telegram/SourceFiles/media/streaming/media_streaming_reader.cpp index 8a9208325..dd3a90b20 100644 --- a/Telegram/SourceFiles/media/streaming/media_streaming_reader.cpp +++ b/Telegram/SourceFiles/media/streaming/media_streaming_reader.cpp @@ -365,6 +365,7 @@ void Reader::Slices::processCacheResult( } // So just process whole result even if we didn't want header really. slice.flags |= Slice::Flag::LoadingFromCache; + slice.flags &= ~Slice::Flag::LoadedFromCache; } if (!(slice.flags & Slice::Flag::LoadingFromCache)) { // We could've already unloaded this slice using LRU _usedSlices. diff --git a/Telegram/SourceFiles/media/streaming/media_streaming_reader.h b/Telegram/SourceFiles/media/streaming/media_streaming_reader.h index 700830249..605334aad 100644 --- a/Telegram/SourceFiles/media/streaming/media_streaming_reader.h +++ b/Telegram/SourceFiles/media/streaming/media_streaming_reader.h @@ -77,9 +77,9 @@ private: struct Slice { enum class Flag : uchar { - LoadingFromCache = 0x02, - LoadedFromCache = 0x04, - ChangedSinceCache = 0x08, + LoadingFromCache = 0x01, + LoadedFromCache = 0x02, + ChangedSinceCache = 0x04, }; friend constexpr inline bool is_flag_type(Flag) { return true; } using Flags = base::flags;