mirror of
https://gitlab.com/OpenMW/openmw.git
synced 2025-03-30 07:21:12 +00:00
Iterate over smaller container when removing blacklisted refs
This commit is contained in:
parent
a920ca9070
commit
f83d388391
@ -555,11 +555,19 @@ namespace MWRender
|
||||
// TODO
|
||||
}
|
||||
|
||||
if (activeGrid)
|
||||
if (activeGrid && !refs.empty())
|
||||
{
|
||||
std::lock_guard<std::mutex> lock(mRefTrackerMutex);
|
||||
for (auto ref : getRefTracker().mBlacklist)
|
||||
refs.erase(ref);
|
||||
const std::set<ESM::RefNum>& blacklist = getRefTracker().mBlacklist;
|
||||
if (blacklist.size() < refs.size())
|
||||
{
|
||||
for (ESM::RefNum ref : blacklist)
|
||||
refs.erase(ref);
|
||||
}
|
||||
else
|
||||
{
|
||||
std::erase_if(refs, [&](const auto& ref) { return blacklist.contains(ref.first); });
|
||||
}
|
||||
}
|
||||
|
||||
osg::Vec2f minBound = (center - osg::Vec2f(size / 2.f, size / 2.f));
|
||||
|
Loading…
x
Reference in New Issue
Block a user