From dfc1712043ab5a5115d024ab5f31c473bda5ff81 Mon Sep 17 00:00:00 2001 From: John Preston Date: Tue, 30 Jun 2020 11:16:47 +0400 Subject: [PATCH] Fix loading locally stored self data. --- Telegram/SourceFiles/storage/serialize_peer.cpp | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/Telegram/SourceFiles/storage/serialize_peer.cpp b/Telegram/SourceFiles/storage/serialize_peer.cpp index e888b7cac8..81fed5dd78 100644 --- a/Telegram/SourceFiles/storage/serialize_peer.cpp +++ b/Telegram/SourceFiles/storage/serialize_peer.cpp @@ -204,8 +204,9 @@ PeerData *readPeer( const auto loaded = (peerId == selfId) ? session->user().get() : session->data().peerLoaded(peerId); + const auto apply = (loaded->loadedStatus != PeerData::FullLoaded); const auto result = loaded ? loaded : session->data().peer(peerId).get(); - if (!loaded) { + if (apply) { result->loadedStatus = PeerData::FullLoaded; } if (const auto user = result->asUser()) { @@ -230,7 +231,7 @@ PeerData *readPeer( ? App::formatPhone(phone) : QString(); - if (!loaded) { + if (apply) { user->setPhone(phone); user->setName(first, last, pname, username); @@ -268,7 +269,7 @@ PeerData *readPeer( if (oldForbidden) { flags |= quint32(MTPDchat_ClientFlag::f_forbidden); } - if (!loaded) { + if (apply) { chat->setName(name); chat->count = count; chat->date = date; @@ -296,7 +297,7 @@ PeerData *readPeer( if (oldForbidden) { flags |= quint32(MTPDchannel_ClientFlag::f_forbidden); } - if (!loaded) { + if (apply) { channel->setName(name, QString()); channel->access = access; channel->date = date; @@ -312,7 +313,7 @@ PeerData *readPeer( channel->inputChannel = MTP_inputChannel(MTP_int(peerToChannel(channel->id)), MTP_long(access)); } } - if (!loaded) { + if (apply) { using LocationType = StorageFileLocation::Type; const auto location = (userpic->valid() && userpic->isLegacy()) ? userpic->convertToModern(