mirror of
https://gitea.wildfiregames.com/0ad/0ad.git
synced 2026-09-21 20:06:40 +00:00
Don't early return but update the active query when having no position or when outOfWorld
Based on Patch By: fatherbushido Patch By: temple Differential Revision: https://code.wildfiregames.com/D1219 Differential Revision: https://code.wildfiregames.com/D704 fixes #4658 This was SVN commit r20845.
This commit is contained in:
@@ -1101,14 +1101,13 @@ public:
|
||||
if (!query.enabled)
|
||||
continue;
|
||||
|
||||
CmpPtr<ICmpPosition> cmpSourcePosition(query.source);
|
||||
if (!cmpSourcePosition || !cmpSourcePosition->IsInWorld())
|
||||
continue;
|
||||
|
||||
results.clear();
|
||||
results.reserve(query.lastMatch.size());
|
||||
CFixedVector2D pos = cmpSourcePosition->GetPosition2D();
|
||||
PerformQuery(query, results, pos);
|
||||
CmpPtr<ICmpPosition> cmpSourcePosition(query.source);
|
||||
if (cmpSourcePosition && cmpSourcePosition->IsInWorld())
|
||||
{
|
||||
results.reserve(query.lastMatch.size());
|
||||
PerformQuery(query, results, cmpSourcePosition->GetPosition2D());
|
||||
}
|
||||
|
||||
// Compute the changes vs the last match
|
||||
added.clear();
|
||||
@@ -1122,7 +1121,8 @@ public:
|
||||
if (added.empty() && removed.empty())
|
||||
continue;
|
||||
|
||||
std::stable_sort(added.begin(), added.end(), EntityDistanceOrdering(m_EntityData, cmpSourcePosition->GetPosition2D()));
|
||||
if (cmpSourcePosition && cmpSourcePosition->IsInWorld())
|
||||
std::stable_sort(added.begin(), added.end(), EntityDistanceOrdering(m_EntityData, cmpSourcePosition->GetPosition2D()));
|
||||
|
||||
messages.resize(messages.size() + 1);
|
||||
std::pair<entity_id_t, CMessageRangeUpdate>& back = messages.back();
|
||||
@@ -1130,7 +1130,7 @@ public:
|
||||
back.second.tag = it->first;
|
||||
back.second.added.swap(added);
|
||||
back.second.removed.swap(removed);
|
||||
it->second.lastMatch.swap(results);
|
||||
query.lastMatch.swap(results);
|
||||
}
|
||||
|
||||
CComponentManager& cmpMgr = GetSimContext().GetComponentManager();
|
||||
|
||||
Reference in New Issue
Block a user