Handle case in the editor when actor's bodypart was not found

pull/541/head
Andrei Kortunov 6 years ago
parent c114e1278e
commit 0065bccf24

@ -113,17 +113,22 @@ namespace CSMWorld
const std::string ActorAdapter::ActorData::getPart(ESM::PartReferenceType index) const
{
auto it = mParts.find(index);
if (it == mParts.end() && mRaceData && mRaceData->handlesPart(index))
if (it == mParts.end())
{
if (mFemale)
if (mRaceData && mRaceData->handlesPart(index))
{
// Note: we should use male parts for females as fallback
const std::string femalePart = mRaceData->getFemalePart(index);
if (!femalePart.empty())
return femalePart;
if (mFemale)
{
// Note: we should use male parts for females as fallback
const std::string femalePart = mRaceData->getFemalePart(index);
if (!femalePart.empty())
return femalePart;
}
return mRaceData->getMalePart(index);
}
return mRaceData->getMalePart(index);
return "";
}
const std::string& partName = it->second.first;

Loading…
Cancel
Save