diff --git a/solanaceae/tox_contacts/tox_contact_model2.cpp b/solanaceae/tox_contacts/tox_contact_model2.cpp index d035727..306c4aa 100644 --- a/solanaceae/tox_contacts/tox_contact_model2.cpp +++ b/solanaceae/tox_contacts/tox_contact_model2.cpp @@ -320,6 +320,12 @@ Contact3Handle ToxContactModel2::getContactGroupPeer(uint32_t group_number, cons c = _cr.create(); _cr.emplace(c, group_c); + { // add sub to parent + auto& parent_sub_list = group_c.get_or_emplace().subs; + if (std::find(parent_sub_list.cbegin(), parent_sub_list.cend(), c) == parent_sub_list.cend()) { + parent_sub_list.push_back(c); + } + } _cr.emplace(c, this); //_cr.emplace(c, group_number, peer_number); _cr.emplace(c, g_key, peer_key);