mirror of
https://gitlab.com/OpenMW/openmw.git
synced 2025-02-09 18:40:14 +00:00
Merge branch 'fix_potential_crash' into 'master'
Fix potential crashes See merge request OpenMW/openmw!2699
This commit is contained in:
commit
92b42624b0
@ -822,6 +822,7 @@ namespace MWPhysics
|
|||||||
// copy new ptr position in temporary vector. player is handled separately as its movement might change active
|
// copy new ptr position in temporary vector. player is handled separately as its movement might change active
|
||||||
// cell.
|
// cell.
|
||||||
mActorsPositions.clear();
|
mActorsPositions.clear();
|
||||||
|
if (!mActors.empty())
|
||||||
mActorsPositions.reserve(mActors.size() - 1);
|
mActorsPositions.reserve(mActors.size() - 1);
|
||||||
for (const auto& [ptr, physicActor] : mActors)
|
for (const auto& [ptr, physicActor] : mActors)
|
||||||
{
|
{
|
||||||
@ -833,6 +834,7 @@ namespace MWPhysics
|
|||||||
for (const auto& [ptr, pos] : mActorsPositions)
|
for (const auto& [ptr, pos] : mActorsPositions)
|
||||||
world->moveObject(ptr, pos, false, false);
|
world->moveObject(ptr, pos, false, false);
|
||||||
|
|
||||||
|
if (player != nullptr)
|
||||||
world->moveObject(player->getPtr(), player->getSimulationPosition(), false, false);
|
world->moveObject(player->getPtr(), player->getSimulationPosition(), false, false);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -61,7 +61,8 @@ namespace Resource
|
|||||||
{
|
{
|
||||||
// If ref count is greater than 1, the object has an external reference.
|
// If ref count is greater than 1, the object has an external reference.
|
||||||
// If the timestamp is yet to be initialized, it needs to be updated too.
|
// If the timestamp is yet to be initialized, it needs to be updated too.
|
||||||
if (itr->second.first->referenceCount() > 1 || itr->second.second == 0.0)
|
if ((itr->second.first != nullptr && itr->second.first->referenceCount() > 1)
|
||||||
|
|| itr->second.second == 0.0)
|
||||||
itr->second.second = referenceTime;
|
itr->second.second = referenceTime;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user