mirror of
				https://github.com/OpenMW/openmw.git
				synced 2025-11-03 23:56:43 +00:00 
			
		
		
		
	Don't delete physics object if it was never created.
This commit is contained in:
		
							parent
							
								
									0e0ad97a91
								
							
						
					
					
						commit
						ba1a42ec05
					
				
					 2 changed files with 5 additions and 2 deletions
				
			
		| 
						 | 
				
			
			@ -93,6 +93,7 @@ void CSVRender::Object::update()
 | 
			
		|||
            Ogre::Quaternion yr (Ogre::Radian (-reference.mPos.rot[1]), Ogre::Vector3::UNIT_Y);
 | 
			
		||||
            Ogre::Quaternion zr (Ogre::Radian (-reference.mPos.rot[2]), Ogre::Vector3::UNIT_Z);
 | 
			
		||||
 | 
			
		||||
            mPhysicsObject = mReferenceId;
 | 
			
		||||
            mPhysics->addObject("meshes\\" + model, mBase->getName(), mReferenceId, reference.mScale, position, xr*yr*zr);
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
| 
						 | 
				
			
			@ -134,7 +135,7 @@ const CSMWorld::CellRef& CSVRender::Object::getReference() const
 | 
			
		|||
CSVRender::Object::Object (const CSMWorld::Data& data, Ogre::SceneNode *cellNode,
 | 
			
		||||
    const std::string& id, bool referenceable, CSVWorld::PhysicsSystem *physics,
 | 
			
		||||
    bool forceBaseToZero)
 | 
			
		||||
: mData (data), mBase (0), mForceBaseToZero (forceBaseToZero), mPhysics(physics)
 | 
			
		||||
: mData (data), mBase (0), mForceBaseToZero (forceBaseToZero), mPhysics(physics), mPhysicsObject("")
 | 
			
		||||
{
 | 
			
		||||
    mBase = cellNode->createChildSceneNode();
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -156,7 +157,8 @@ CSVRender::Object::~Object()
 | 
			
		|||
{
 | 
			
		||||
    clear();
 | 
			
		||||
 | 
			
		||||
    mPhysics->removeObject(mBase->getName());
 | 
			
		||||
    if(mPhysicsObject != "")
 | 
			
		||||
        mPhysics->removeObject(mBase->getName());
 | 
			
		||||
 | 
			
		||||
    if (mBase)
 | 
			
		||||
        mBase->getCreator()->destroySceneNode (mBase);
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -32,6 +32,7 @@ namespace CSVRender
 | 
			
		|||
            NifOgre::ObjectScenePtr mObject;
 | 
			
		||||
            bool mForceBaseToZero;
 | 
			
		||||
            CSVWorld::PhysicsSystem *mPhysics;
 | 
			
		||||
            std::string mPhysicsObject;
 | 
			
		||||
 | 
			
		||||
            /// Not implemented
 | 
			
		||||
            Object (const Object&);
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
		Reference in a new issue