mirror of
https://github.com/telegramdesktop/tdesktop
synced 2025-08-31 06:26:18 +00:00
Update color index caches on palette change.
This commit is contained in:
@@ -705,8 +705,18 @@ not_null<UserData*> Session::processUser(const MTPUser &data) {
|
||||
if (canShareThisContact != result->canShareThisContactFast()) {
|
||||
flags |= UpdateFlag::CanShareContact;
|
||||
}
|
||||
|
||||
auto decorationsUpdated = false;
|
||||
if (result->changeColorIndex(data.vcolor())) {
|
||||
flags |= UpdateFlag::Color;
|
||||
decorationsUpdated = true;
|
||||
}
|
||||
if (result->changeBackgroundEmoji(data.vbackground_emoji_id())) {
|
||||
flags |= UpdateFlag::BackgroundEmoji;
|
||||
decorationsUpdated = true;
|
||||
}
|
||||
if (decorationsUpdated && result->isMinimalLoaded()) {
|
||||
_peerDecorationsUpdated.fire_copy(result);
|
||||
}
|
||||
});
|
||||
|
||||
@@ -982,8 +992,17 @@ not_null<PeerData*> Session::processChat(const MTPChat &data) {
|
||||
if (wasCallNotEmpty != Data::ChannelHasActiveCall(channel)) {
|
||||
flags |= UpdateFlag::GroupCall;
|
||||
}
|
||||
auto decorationsUpdated = false;
|
||||
if (result->changeColorIndex(data.vcolor())) {
|
||||
flags |= UpdateFlag::Color;
|
||||
decorationsUpdated = true;
|
||||
}
|
||||
if (result->changeBackgroundEmoji(data.vbackground_emoji_id())) {
|
||||
flags |= UpdateFlag::BackgroundEmoji;
|
||||
decorationsUpdated = true;
|
||||
}
|
||||
if (decorationsUpdated && result->isMinimalLoaded()) {
|
||||
_peerDecorationsUpdated.fire_copy(result);
|
||||
}
|
||||
}, [&](const MTPDchannelForbidden &data) {
|
||||
const auto channel = result->asChannel();
|
||||
@@ -4515,6 +4534,10 @@ auto Session::webViewResultSent() const -> rpl::producer<WebViewResultSent> {
|
||||
return _webViewResultSent.events();
|
||||
}
|
||||
|
||||
rpl::producer<not_null<PeerData*>> Session::peerDecorationsUpdated() const {
|
||||
return _peerDecorationsUpdated.events();
|
||||
}
|
||||
|
||||
void Session::clearLocalStorage() {
|
||||
_cache->close();
|
||||
_cache->clear();
|
||||
|
Reference in New Issue
Block a user