mirror of
https://gitlab.com/OpenMW/openmw.git
synced 2025-04-16 08:42:23 +00:00
Avoid Ogre exceptions and null pointers.
This commit is contained in:
parent
39cd89a9af
commit
2f26fc1188
@ -170,12 +170,15 @@ namespace CSVWorld
|
|||||||
mSelectedEntities.find(result.first);
|
mSelectedEntities.find(result.first);
|
||||||
if(iter != mSelectedEntities.end()) // currently selected
|
if(iter != mSelectedEntities.end()) // currently selected
|
||||||
{
|
{
|
||||||
std::vector<std::string> deletedEntities = mSelectedEntities[result.first];
|
std::vector<std::string> clonedEntities = mSelectedEntities[result.first];
|
||||||
while(!deletedEntities.empty())
|
while(!clonedEntities.empty())
|
||||||
{
|
{
|
||||||
scene->detachObject(deletedEntities.back());
|
if(mSceneMgr->hasEntity(clonedEntities.back()))
|
||||||
mSceneMgr->destroyEntity(deletedEntities.back());
|
{
|
||||||
deletedEntities.pop_back();
|
scene->detachObject(clonedEntities.back());
|
||||||
|
mSceneMgr->destroyEntity(clonedEntities.back());
|
||||||
|
}
|
||||||
|
clonedEntities.pop_back();
|
||||||
}
|
}
|
||||||
mSelectedEntities.erase(iter);
|
mSelectedEntities.erase(iter);
|
||||||
|
|
||||||
@ -189,6 +192,9 @@ namespace CSVWorld
|
|||||||
while(iter.hasMoreElements())
|
while(iter.hasMoreElements())
|
||||||
{
|
{
|
||||||
Ogre::MovableObject * element = iter.getNext();
|
Ogre::MovableObject * element = iter.getNext();
|
||||||
|
if(!element)
|
||||||
|
break;
|
||||||
|
|
||||||
if(element->getMovableType() != "Entity")
|
if(element->getMovableType() != "Entity")
|
||||||
continue;
|
continue;
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user