[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [53476] trunk/blender/source/gameengine: BGE: Fixing a crash that occurred when LibLoading a scene with a 2D Filter Actuator .

Mitchell Stokes mogurijin at gmail.com
Mon Dec 31 22:32:48 CET 2012


Revision: 53476
          http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=53476
Author:   moguri
Date:     2012-12-31 21:32:46 +0000 (Mon, 31 Dec 2012)
Log Message:
-----------
BGE: Fixing a crash that occurred when LibLoading a scene with a 2D Filter Actuator. The actuator was still referencing the old scene.

Modified Paths:
--------------
    trunk/blender/source/gameengine/GameLogic/SCA_2DFilterActuator.cpp
    trunk/blender/source/gameengine/GameLogic/SCA_2DFilterActuator.h
    trunk/blender/source/gameengine/Ketsji/KX_Scene.cpp

Modified: trunk/blender/source/gameengine/GameLogic/SCA_2DFilterActuator.cpp
===================================================================
--- trunk/blender/source/gameengine/GameLogic/SCA_2DFilterActuator.cpp	2012-12-31 19:38:40 UTC (rev 53475)
+++ trunk/blender/source/gameengine/GameLogic/SCA_2DFilterActuator.cpp	2012-12-31 21:32:46 UTC (rev 53476)
@@ -97,6 +97,11 @@
 }
 
 
+void SCA_2DFilterActuator::SetScene(SCA_IScene *scene)
+{
+	m_scene = scene;
+}
+
 void SCA_2DFilterActuator::SetShaderText(const char *text)
 {
 	m_shaderText = text;

Modified: trunk/blender/source/gameengine/GameLogic/SCA_2DFilterActuator.h
===================================================================
--- trunk/blender/source/gameengine/GameLogic/SCA_2DFilterActuator.h	2012-12-31 19:38:40 UTC (rev 53475)
+++ trunk/blender/source/gameengine/GameLogic/SCA_2DFilterActuator.h	2012-12-31 21:32:46 UTC (rev 53476)
@@ -64,6 +64,8 @@
 	virtual ~SCA_2DFilterActuator();
 	virtual bool Update();
 
+	void	SetScene(SCA_IScene *scene);
+
 	virtual CValue* GetReplica();
 };
 #endif

Modified: trunk/blender/source/gameengine/Ketsji/KX_Scene.cpp
===================================================================
--- trunk/blender/source/gameengine/Ketsji/KX_Scene.cpp	2012-12-31 19:38:40 UTC (rev 53475)
+++ trunk/blender/source/gameengine/Ketsji/KX_Scene.cpp	2012-12-31 21:32:46 UTC (rev 53476)
@@ -47,6 +47,7 @@
 //#include "SCA_AlwaysEventManager.h"
 //#include "SCA_RandomEventManager.h"
 //#include "KX_RayEventManager.h"
+#include "SCA_2DFilterActuator.h"
 #include "KX_TouchEventManager.h"
 #include "SCA_KeyboardManager.h"
 #include "SCA_MouseManager.h"
@@ -1781,6 +1782,11 @@
 	if (sensor) {
 		sensor->Replace_EventManager(logicmgr);
 	}
+
+	SCA_2DFilterActuator *filter_actuator = dynamic_cast<class SCA_2DFilterActuator*>(brick);
+	if (filter_actuator) {
+		filter_actuator->SetScene(to);
+	}
 }
 
 #ifdef USE_BULLET




More information about the Bf-blender-cvs mailing list