diff --git a/src/dc_chat.rs b/src/dc_chat.rs index ba879ed03..999ced1c2 100644 --- a/src/dc_chat.rs +++ b/src/dc_chat.rs @@ -180,6 +180,22 @@ pub fn dc_chat_load_from_db(chat: *mut Chat, chat_id: u32) -> bool { .strdup(); }, _ => { + unsafe { + if (*chat).type_0 == DC_CHAT_TYPE_SINGLE { + free((*chat).name as *mut libc::c_void); + let contacts = dc_get_chat_contacts((*chat).context, (*chat).id); + let mut chat_name = "Err [Name not found]".to_owned(); + if !(*contacts).is_empty() { + if let Ok(contact) = + Contact::get_by_id((*chat).context, contacts[0]) + { + chat_name = contact.get_display_name().to_owned(); + } + } + (*chat).name = (&chat_name).strdup(); + } + } + if unsafe { &(*chat).param }.exists(Param::Selftalk) { unsafe { free((*chat).name as *mut libc::c_void);