fixes
This commit is contained in:
parent
60b3d5d941
commit
100279a483
@ -1432,6 +1432,11 @@ bool SHA1_NGCFT1::onEvent(const Events::NGCEXT_ft1_have& e) {
|
|||||||
//c.emplace_or_replace<ChunkPickerUpdateTag>();
|
//c.emplace_or_replace<ChunkPickerUpdateTag>();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (!o.all_of<Components::FT1InfoSHA1>()) {
|
||||||
|
// we dont have the info yet
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
const size_t num_total_chunks = o.get<Components::FT1InfoSHA1>().chunks.size();
|
const size_t num_total_chunks = o.get<Components::FT1InfoSHA1>().chunks.size();
|
||||||
|
|
||||||
auto& remote_have = o.get_or_emplace<Components::RemoteHaveBitset>().others;
|
auto& remote_have = o.get_or_emplace<Components::RemoteHaveBitset>().others;
|
||||||
@ -1517,6 +1522,17 @@ bool SHA1_NGCFT1::onEvent(const Events::NGCEXT_ft1_bitset& e) {
|
|||||||
std::cerr << "SHA1_NGCFT1 error: tracking info has null object\n";
|
std::cerr << "SHA1_NGCFT1 error: tracking info has null object\n";
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
const auto c = _tcm.getContactGroupPeer(e.group_number, e.peer_number);
|
||||||
|
assert(static_cast<bool>(c));
|
||||||
|
_tox_peer_to_contact[combine_ids(e.group_number, e.peer_number)] = c; // cache
|
||||||
|
|
||||||
|
// we might not know yet
|
||||||
|
addParticipation(c, o);
|
||||||
|
|
||||||
|
if (!o.all_of<Components::FT1InfoSHA1>()) {
|
||||||
|
// we dont have the info yet
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
const size_t num_total_chunks = o.get<Components::FT1InfoSHA1>().chunks.size();
|
const size_t num_total_chunks = o.get<Components::FT1InfoSHA1>().chunks.size();
|
||||||
// +7 for byte rounding
|
// +7 for byte rounding
|
||||||
@ -1526,13 +1542,6 @@ bool SHA1_NGCFT1::onEvent(const Events::NGCEXT_ft1_bitset& e) {
|
|||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
const auto c = _tcm.getContactGroupPeer(e.group_number, e.peer_number);
|
|
||||||
assert(static_cast<bool>(c));
|
|
||||||
_tox_peer_to_contact[combine_ids(e.group_number, e.peer_number)] = c; // cache
|
|
||||||
|
|
||||||
// we might not know yet
|
|
||||||
addParticipation(c, o);
|
|
||||||
|
|
||||||
auto& remote_have = o.get_or_emplace<Components::RemoteHaveBitset>().others;
|
auto& remote_have = o.get_or_emplace<Components::RemoteHaveBitset>().others;
|
||||||
if (!remote_have.contains(c)) {
|
if (!remote_have.contains(c)) {
|
||||||
// init
|
// init
|
||||||
|
Loading…
Reference in New Issue
Block a user