Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBenoit Bolsee <benoit.bolsee@online.be>2014-10-11 14:14:02 +0400
committerSergey Sharybin <sergey.vfx@gmail.com>2014-10-15 15:06:12 +0400
commitb9303b880531c9fd75386432c5db59cbfddc724d (patch)
tree9309bc521f28a3cd3675d2c85ed2643894c672fe
parent0763771e94663c3245d0b99d749bf9771f291d98 (diff)
Fix another crash with Navigation mesh.
Navigation mesh object need to access the current scene at creation time. This can be at scene start or when an object is instantiated from an inactive layer. The method of getting the scene differs in these cases. This fix handles both.
-rw-r--r--source/gameengine/Ketsji/KX_GameObject.cpp7
1 files changed, 4 insertions, 3 deletions
diff --git a/source/gameengine/Ketsji/KX_GameObject.cpp b/source/gameengine/Ketsji/KX_GameObject.cpp
index c681e0842c4..dc246406a88 100644
--- a/source/gameengine/Ketsji/KX_GameObject.cpp
+++ b/source/gameengine/Ketsji/KX_GameObject.cpp
@@ -1587,9 +1587,10 @@ CListValue* KX_GameObject::GetChildrenRecursive()
KX_Scene* KX_GameObject::GetScene()
{
SG_Node* node = this->GetSGNode();
- KX_Scene* scene = static_cast<KX_Scene*>(node->GetSGClientInfo());
-
- return scene;
+ if (node == NULL)
+ // this happens for object in non active layers, rely on static scene then
+ return KX_GetActiveScene();
+ return static_cast<KX_Scene*>(node->GetSGClientInfo());
}
/* ---------------------------------------------------------------------