Repair personal and public photo with getUserFull.
This commit is contained in:
parent
c467910ad6
commit
f3d4492086
@ -10944,11 +10944,8 @@ void ContactsManager::on_load_user_full_from_database(UserId user_id, string val
|
|||||||
if (!user_full->photo.is_empty()) {
|
if (!user_full->photo.is_empty()) {
|
||||||
register_user_photo(u, user_id, user_full->photo);
|
register_user_photo(u, user_id, user_full->photo);
|
||||||
}
|
}
|
||||||
if (!user_full->personal_photo.is_empty()) {
|
if (user_id == get_my_id() && !user_full->fallback_photo.is_empty()) {
|
||||||
register_user_photo(u, user_id, user_full->personal_photo);
|
register_suggested_profile_photo(user_full->fallback_photo);
|
||||||
}
|
|
||||||
if (!user_full->fallback_photo.is_empty()) {
|
|
||||||
register_user_photo(u, user_id, user_full->fallback_photo);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
td_->group_call_manager_->on_update_dialog_about(DialogId(user_id), user_full->about, false);
|
td_->group_call_manager_->on_update_dialog_about(DialogId(user_id), user_full->about, false);
|
||||||
@ -11652,8 +11649,17 @@ void ContactsManager::update_user_full(UserFull *user_full, UserId user_id, cons
|
|||||||
td_->messages_manager_->drop_common_dialogs_cache(user_id);
|
td_->messages_manager_->drop_common_dialogs_cache(user_id);
|
||||||
user_full->is_common_chat_count_changed = false;
|
user_full->is_common_chat_count_changed = false;
|
||||||
}
|
}
|
||||||
if (user_full->are_files_changed) {
|
if (true) {
|
||||||
auto file_ids = photo_get_file_ids(user_full->description_photo);
|
vector<FileId> file_ids;
|
||||||
|
if (!user_full->personal_photo.is_empty()) {
|
||||||
|
append(file_ids, photo_get_file_ids(user_full->personal_photo));
|
||||||
|
}
|
||||||
|
if (!user_full->fallback_photo.is_empty()) {
|
||||||
|
append(file_ids, photo_get_file_ids(user_full->fallback_photo));
|
||||||
|
}
|
||||||
|
if (!user_full->description_photo.is_empty()) {
|
||||||
|
append(file_ids, photo_get_file_ids(user_full->description_photo));
|
||||||
|
}
|
||||||
if (user_full->description_animation_file_id.is_valid()) {
|
if (user_full->description_animation_file_id.is_valid()) {
|
||||||
file_ids.push_back(user_full->description_animation_file_id);
|
file_ids.push_back(user_full->description_animation_file_id);
|
||||||
}
|
}
|
||||||
@ -11935,7 +11941,6 @@ void ContactsManager::on_get_user_full(tl_object_ptr<telegram_api::userFull> &&u
|
|||||||
user_full->description_animation_file_id != description_animation_file_id) {
|
user_full->description_animation_file_id != description_animation_file_id) {
|
||||||
user_full->description_photo = std::move(description_photo);
|
user_full->description_photo = std::move(description_photo);
|
||||||
user_full->description_animation_file_id = description_animation_file_id;
|
user_full->description_animation_file_id = description_animation_file_id;
|
||||||
user_full->are_files_changed = true;
|
|
||||||
user_full->is_changed = true;
|
user_full->is_changed = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -11971,11 +11976,8 @@ void ContactsManager::on_get_user_full(tl_object_ptr<telegram_api::userFull> &&u
|
|||||||
if (!user_full->photo.is_empty()) {
|
if (!user_full->photo.is_empty()) {
|
||||||
register_user_photo(u, user_id, user_full->photo);
|
register_user_photo(u, user_id, user_full->photo);
|
||||||
}
|
}
|
||||||
if (!user_full->personal_photo.is_empty()) {
|
if (user_id == get_my_id() && !user_full->fallback_photo.is_empty()) {
|
||||||
register_user_photo(u, user_id, user_full->personal_photo);
|
register_suggested_profile_photo(user_full->fallback_photo);
|
||||||
}
|
|
||||||
if (!user_full->fallback_photo.is_empty()) {
|
|
||||||
register_user_photo(u, user_id, user_full->fallback_photo);
|
|
||||||
}
|
}
|
||||||
if (photo_ptr->is_empty()) {
|
if (photo_ptr->is_empty()) {
|
||||||
drop_user_photos(user_id, true, "on_get_user_full");
|
drop_user_photos(user_id, true, "on_get_user_full");
|
||||||
@ -13137,7 +13139,13 @@ void ContactsManager::add_set_profile_photo_to_cache(UserId user_id, Photo &&pho
|
|||||||
if (*current_photo != photo) {
|
if (*current_photo != photo) {
|
||||||
*current_photo = photo;
|
*current_photo = photo;
|
||||||
user_full->is_changed = true;
|
user_full->is_changed = true;
|
||||||
register_user_photo(u, user_id, photo);
|
if (is_me) {
|
||||||
|
if (!is_fallback) {
|
||||||
|
register_user_photo(u, user_id, photo);
|
||||||
|
} else {
|
||||||
|
register_suggested_profile_photo(photo);
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
update_user_full(user_full, user_id, "add_set_profile_photo_to_cache");
|
update_user_full(user_full, user_id, "add_set_profile_photo_to_cache");
|
||||||
}
|
}
|
||||||
@ -13318,7 +13326,6 @@ void ContactsManager::drop_user_full(UserId user_id) {
|
|||||||
user_full->broadcast_administrator_rights = {};
|
user_full->broadcast_administrator_rights = {};
|
||||||
user_full->premium_gift_options.clear();
|
user_full->premium_gift_options.clear();
|
||||||
user_full->voice_messages_forbidden = false;
|
user_full->voice_messages_forbidden = false;
|
||||||
user_full->are_files_changed = true;
|
|
||||||
user_full->is_changed = true;
|
user_full->is_changed = true;
|
||||||
|
|
||||||
update_user_full(user_full, user_id, "drop_user_full");
|
update_user_full(user_full, user_id, "drop_user_full");
|
||||||
|
@ -812,7 +812,6 @@ class ContactsManager final : public Actor {
|
|||||||
bool voice_messages_forbidden = false;
|
bool voice_messages_forbidden = false;
|
||||||
|
|
||||||
bool is_common_chat_count_changed = true;
|
bool is_common_chat_count_changed = true;
|
||||||
bool are_files_changed = true;
|
|
||||||
bool is_changed = true; // have new changes that need to be sent to the client and database
|
bool is_changed = true; // have new changes that need to be sent to the client and database
|
||||||
bool need_send_update = true; // have new changes that need only to be sent to the client
|
bool need_send_update = true; // have new changes that need only to be sent to the client
|
||||||
bool need_save_to_database = true; // have new changes that need only to be saved to the database
|
bool need_save_to_database = true; // have new changes that need only to be saved to the database
|
||||||
|
Loading…
x
Reference in New Issue
Block a user