From e86d3a7658a04bcf188dbebd514c147ef9ec04dd Mon Sep 17 00:00:00 2001 From: Adam Johnson Date: Wed, 26 Dec 2012 18:44:24 -0500 Subject: [PATCH] Fix crash in PtGetCameraNumber() --- Sources/Plasma/FeatureLib/pfCamera/plVirtualCamNeu.cpp | 7 +++++-- Sources/Plasma/FeatureLib/pfPython/cyMisc.cpp | 2 +- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/Sources/Plasma/FeatureLib/pfCamera/plVirtualCamNeu.cpp b/Sources/Plasma/FeatureLib/pfCamera/plVirtualCamNeu.cpp index 15648f62..9f85f786 100644 --- a/Sources/Plasma/FeatureLib/pfCamera/plVirtualCamNeu.cpp +++ b/Sources/Plasma/FeatureLib/pfCamera/plVirtualCamNeu.cpp @@ -226,8 +226,11 @@ plVirtualCam1::~plVirtualCam1() // for saving camera stack plCameraModifier1* plVirtualCam1::GetCameraNumber(size_t camNumber) -{ - return (fCameraStack[camNumber]); +{ + if (fCameraStack.size() > camNumber) + return fCameraStack[camNumber]; + else + return nil; } // for rebuilding camera stack void plVirtualCam1::RebuildStack(const plKey& key) diff --git a/Sources/Plasma/FeatureLib/pfPython/cyMisc.cpp b/Sources/Plasma/FeatureLib/pfPython/cyMisc.cpp index 1efb9e2e..94c0562f 100644 --- a/Sources/Plasma/FeatureLib/pfPython/cyMisc.cpp +++ b/Sources/Plasma/FeatureLib/pfPython/cyMisc.cpp @@ -2462,7 +2462,7 @@ int cyMisc::GetNumCameras() const char* cyMisc::GetCameraNumber(int number) { plCameraModifier1* pCam = plVirtualCam1::Instance()->GetCameraNumber(number-1); - if (pCam->GetTarget()) + if (pCam && pCam->GetTarget()) { const char* ret = pCam->GetTarget()->GetKeyName().c_str(); plString str = plString::Format("saving camera named %s to chronicle\n",ret);