diff --git a/solanaceae/tox_contacts/tox_contact_model2.cpp b/solanaceae/tox_contacts/tox_contact_model2.cpp index c8fa839..c2d84ef 100644 --- a/solanaceae/tox_contacts/tox_contact_model2.cpp +++ b/solanaceae/tox_contacts/tox_contact_model2.cpp @@ -177,6 +177,7 @@ Contact3Handle ToxContactModel2::getContactFriend(uint32_t friend_number) { _cr.emplace_or_replace(c, friend_number); _cr.emplace_or_replace(c, f_key); _cr.emplace_or_replace(c, _root); + _cr.get_or_emplace(_root).subs.push_back(c); _cr.emplace_or_replace(c).subs.assign({_friend_self, c}); _cr.emplace_or_replace(c); _cr.emplace_or_replace(c, _friend_self); @@ -242,6 +243,7 @@ Contact3Handle ToxContactModel2::getContactGroup(uint32_t group_number) { _cr.emplace_or_replace(c, this); _cr.emplace_or_replace(c); _cr.emplace_or_replace(c, _root); + _cr.get_or_emplace(_root).subs.push_back(c); _cr.emplace_or_replace(c); // start empty _cr.emplace_or_replace(c, group_number); _cr.emplace_or_replace(c, g_key); @@ -551,6 +553,7 @@ bool ToxContactModel2::onToxEvent(const Tox_Event_Friend_Request* e) { _cr.emplace_or_replace(c, this); _cr.emplace_or_replace(c, pub_key); _cr.emplace_or_replace(c, _root); + _cr.get_or_emplace(_root).subs.push_back(c); _cr.emplace_or_replace(c).subs.assign({_friend_self, c}); _cr.emplace_or_replace(c); _cr.emplace_or_replace(c, _friend_self); @@ -605,6 +608,7 @@ bool ToxContactModel2::onToxEvent(const Tox_Event_Group_Invite* e) { _cr.emplace_or_replace(c); _cr.emplace_or_replace(c, this); _cr.emplace_or_replace(c, _root); + _cr.get_or_emplace(_root).subs.push_back(c); _cr.emplace_or_replace(c, chat_id); _cr.emplace_or_replace(c); _cr.emplace_or_replace(c, std::string(group_name));