This file contains stack traces for a few break points, in the order that they were hit. == First == 0 SCA_2DFilterActuator::SCA_2DFilterActuator SCA_2DFilterActuator.cpp 58 0x12609f9 1 BL_ConvertActuators KX_ConvertActuators.cpp 971 0x11581f3 2 BL_ConvertBlenderObjects BL_BlenderDataConversion.cpp 2725 0x1140d3d 3 KX_BlenderSceneConverter::ConvertScene KX_BlenderSceneConverter.cpp 376 0x11247a2 4 StartKetsjiShell BL_KetsjiEmbedStart.cpp 411 0x111a95d 5 game_engine_exec view3d_view.c 1800 0x973b12 6 wm_operator_invoke wm_event_system.c 701 0x890783 7 wm_handler_operator_call wm_event_system.c 1252 0x891b3d 8 wm_handlers_do wm_event_system.c 1491 0x8922bf 9 wm_event_do_handlers wm_event_system.c 1837 0x8930ba 10 WM_main wm.c 346 0x88ce3e 11 main creator.c 1296 0x88c547 new object = *(SCA_2DFilterActuator*)0x7fffffffcde0 gameobj = *(KX_GameObject*)0x7fffffffcbb8 So first, the raw camera is created. == Second == 0 SCA_2DFilterActuator::GetReplica SCA_2DFilterActuator.cpp 68 0x1260adb 1 SCA_IObject::ReParentLogic SCA_IObject.cpp 161 0x126998c 2 KX_Scene::DupliGroupRecurse KX_Scene.cpp 762 0x1226e7b 3 BL_ConvertBlenderObjects BL_BlenderDataConversion.cpp 2770 0x114108e 4 KX_BlenderSceneConverter::ConvertScene KX_BlenderSceneConverter.cpp 376 0x11247a2 5 StartKetsjiShell BL_KetsjiEmbedStart.cpp 411 0x111a95d 6 game_engine_exec view3d_view.c 1800 0x973b12 7 wm_operator_invoke wm_event_system.c 701 0x890783 8 wm_handler_operator_call wm_event_system.c 1252 0x891b3d 9 wm_handlers_do wm_event_system.c 1491 0x8922bf 10 wm_event_do_handlers wm_event_system.c 1837 0x8930ba 11 WM_main wm.c 346 0x88ce3e 12 main creator.c 1296 0x88c547 this = *(SCA_2DFilterActuator*)0x7fffffffcc68 replica = *(SCA_2DFilterActuator*)0x7fffffffcc58 this->m_gameObj = 0x5437730 replica->m_gameObj = 0x5437730 (same after ProcessReplica()). After ReParent, replica->m_gameObj = *(SCA_IObject*)0x546ad10. So, after ReParentLogic runs, there are two SCA_2DFilterActuator objects with different owners (parents). == Third == 0 RAS_2DFilterManager::EnableFilter RAS_2DFilterManager.cpp 514 0x1282c10 1 KX_Scene::Update2DFilter KX_Scene.cpp 1883 0x122adc4 2 SCA_2DFilterActuator::Update SCA_2DFilterActuator.cpp 94 0x1260c61 3 SCA_IActuator::Update SCA_IActuator.cpp 52 0x12657e5 4 SCA_LogicManager::UpdateFrame SCA_LogicManager.cpp 227 0x1271ec0 5 KX_Scene::LogicUpdateFrame KX_Scene.cpp 1509 0x1229958 6 KX_KetsjiEngine::NextFrame KX_KetsjiEngine.cpp 650 0x11f2c70 7 StartKetsjiShell BL_KetsjiEmbedStart.cpp 434 0x111aa0d 8 game_engine_exec view3d_view.c 1800 0x973b12 9 wm_operator_invoke wm_event_system.c 701 0x890783 10 wm_handler_operator_call wm_event_system.c 1252 0x891b3d 11 wm_handlers_do wm_event_system.c 1491 0x8922bf 12 wm_event_do_handlers wm_event_system.c 1837 0x8930ba 13 WM_main wm.c 346 0x88ce3e 14 main creator.c 1296 0x88c547 === Program function trace === SCA_2DFilterActuator. this=0x64664e0 this->m_gameObj=0x3fc00000282 GetReplica. this=0x64664e0, replica=0x6464450 this->m_gameObj=0x468db60, replica->m_gameObj=0x468db60 Blender Game Engine Started Setting focal depth to: 0.9533742666244507 EnableFilter. pass=0, gameObj=0x468db60 Added cam Camera StartShaderProgram. pass=0, gameObj=0x468db60 So EnableFilter is being run after GetReplica, but it is being passed the original object.