[Bf-blender-cvs] [04fdd35] master: Slight cleanup for 4af848e.

Mitchell Stokes noreply at git.blender.org
Thu Jul 3 07:58:06 CEST 2014


Commit: 04fdd35ba538dda8ec47b7267dee82320fda723f
Author: Mitchell Stokes
Date:   Wed Jul 2 22:55:39 2014 -0700
https://developer.blender.org/rB04fdd35ba538dda8ec47b7267dee82320fda723f

Slight cleanup for 4af848e.

===================================================================

M	source/gameengine/GameLogic/SCA_PythonController.cpp

===================================================================

diff --git a/source/gameengine/GameLogic/SCA_PythonController.cpp b/source/gameengine/GameLogic/SCA_PythonController.cpp
index dbcbbea..8c3ce38 100644
--- a/source/gameengine/GameLogic/SCA_PythonController.cpp
+++ b/source/gameengine/GameLogic/SCA_PythonController.cpp
@@ -264,9 +264,16 @@ PyAttributeDef SCA_PythonController::Attributes[] = {
 void SCA_PythonController::ErrorPrint(const char *error_msg)
 {
 	// If GetParent() is NULL, then most likely the object this controller
-	// was attached to is gone (e.g., removed by LibFree()).
-	const char *obj_name = (GetParent()) ? GetParent()->GetName().ReadPtr() : "Unavailable";
-	const char *ctr_name = (GetParent()) ? GetName().ReadPtr() : "Unavailable";
+	// was attached to is gone (e.g., removed by LibFree()). Also, GetName()
+	// can be a bad pointer if GetParent() is NULL, so better be safe and
+	// flag it as unavailable as well
+	const char *obj_name, *ctr_name;
+	if (GetParent()) {
+		obj_name = GetParent()->GetName().ReadPtr();
+		ctr_name = GetName().ReadPtr();
+	} else {
+		obj_name = ctr_name = "Unavailable";
+	}
 	printf("%s - object '%s', controller '%s':\n", error_msg, obj_name, ctr_name);
 	PyErr_Print();




More information about the Bf-blender-cvs mailing list