[Igarden-commit] Garden/source/PlanTool ActiveMaterial.cpp, 1.45.2.13, 1.45.2.14
Status: Beta
Brought to you by:
jlbedell
|
From: Jeffrey B. <jlb...@us...> - 2007-01-28 14:22:40
|
Update of /cvsroot/igarden/Garden/source/PlanTool In directory sc8-pr-cvs2.sourceforge.net:/tmp/cvs-serv28304 Modified Files: Tag: Release_branch_v1 ActiveMaterial.cpp Log Message: Fix crashes if palette references are missing or out of bounds Index: ActiveMaterial.cpp =================================================================== RCS file: /cvsroot/igarden/Garden/source/PlanTool/ActiveMaterial.cpp,v retrieving revision 1.45.2.13 retrieving revision 1.45.2.14 diff -C2 -d -r1.45.2.13 -r1.45.2.14 *** ActiveMaterial.cpp 23 Jan 2007 05:05:22 -0000 1.45.2.13 --- ActiveMaterial.cpp 28 Jan 2007 14:22:39 -0000 1.45.2.14 *************** *** 506,510 **** Material* ActiveMaterial::CurrentMaterial() { ! if(GetNumMaterials() != 0) return GetIndexedMaterial(_currentItem); else --- 506,511 ---- Material* ActiveMaterial::CurrentMaterial() { ! long count = GetNumMaterials(); ! if(count != 0 && _currentItem < count && _currentItem >= 0) return GetIndexedMaterial(_currentItem); else *************** *** 1017,1021 **** return _currentPlotItems[index]; case kBackgroundItems: ! if(index == 0) return 0; else --- 1018,1022 ---- return _currentPlotItems[index]; case kBackgroundItems: ! if(index == 0 || _topLayout == NULL) return 0; else *************** *** 1025,1030 **** } case kMaterialCollection: ! palette = _topLayout->GetPaletteByGroupAndIndex(_paletteGroup, _paletteIndex); ! return palette->GetIndexedMaterial(index); default: return 0; --- 1026,1036 ---- } case kMaterialCollection: ! if(_topLayout != NULL) ! { ! palette = _topLayout->GetPaletteByGroupAndIndex(_paletteGroup, _paletteIndex); ! return palette->GetIndexedMaterial(index); ! } ! else ! return NULL; default: return 0; |