aboutsummaryrefslogtreecommitdiff
path: root/PhysX_3.4/Source/PhysX/src/buffering/ScbScene.cpp
diff options
context:
space:
mode:
authorSheikh Dawood <[email protected]>2018-05-25 09:54:38 -0500
committerSheikh Dawood <[email protected]>2018-05-25 09:54:38 -0500
commitb99b3783cd7e3fb1bb0a07dc472b2fc000c4cdc1 (patch)
treede67d7adc7cc66d44c3e0a399d94d1db6bcebd0c /PhysX_3.4/Source/PhysX/src/buffering/ScbScene.cpp
parentPhysX 3.4, APEX 1.4 patch release @23933511 (diff)
downloadphysx-3.4-b99b3783cd7e3fb1bb0a07dc472b2fc000c4cdc1.tar.xz
physx-3.4-b99b3783cd7e3fb1bb0a07dc472b2fc000c4cdc1.zip
PhysX 3.4, APEX 1.4 patch release @24214033v3.4.2
Diffstat (limited to 'PhysX_3.4/Source/PhysX/src/buffering/ScbScene.cpp')
-rw-r--r--PhysX_3.4/Source/PhysX/src/buffering/ScbScene.cpp9
1 files changed, 6 insertions, 3 deletions
diff --git a/PhysX_3.4/Source/PhysX/src/buffering/ScbScene.cpp b/PhysX_3.4/Source/PhysX/src/buffering/ScbScene.cpp
index a757546d..19f02854 100644
--- a/PhysX_3.4/Source/PhysX/src/buffering/ScbScene.cpp
+++ b/PhysX_3.4/Source/PhysX/src/buffering/ScbScene.cpp
@@ -23,7 +23,7 @@
// components in life support devices or systems without express written approval of
// NVIDIA Corporation.
//
-// Copyright (c) 2008-2017 NVIDIA Corporation. All rights reserved.
+// Copyright (c) 2008-2018 NVIDIA Corporation. All rights reserved.
// Copyright (c) 2004-2008 AGEIA Technologies, Inc. All rights reserved.
// Copyright (c) 2001-2004 NovodeX AG. All rights reserved.
@@ -850,8 +850,11 @@ void Scb::Scene::updateLowLevelMaterial(NpMaterial** masterMaterial)
if (event.mHandle < manager.getMaxSize()) // materials might get added and then removed again immediately. However, the add does not get processed (see case MATERIAL_ADD above),
{ // so the remove might end up reading out of bounds memory unless checked.
PxsMaterialCore* materialCore = manager.getMaterial(event.mHandle);
- mScene.unregisterMaterialInNP(*materialCore);
- manager.removeMaterial(materialCore);
+ if (materialCore->getMaterialIndex() == event.mHandle)
+ {
+ mScene.unregisterMaterialInNP(*materialCore);
+ manager.removeMaterial(materialCore);
+ }
}
break;
};