Skip to content

Commit 6ee69dc

Browse files
committed
Fixed: Items removed from store when researched.
1 parent cac3cfe commit 6ee69dc

2 files changed

Lines changed: 3 additions & 2 deletions

File tree

‎src/Basescape/NewResearchListState.cpp‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -102,7 +102,7 @@ void NewResearchListState::onSelectProject(Action *)
102102
{
103103
_game->pushState(new ResearchInfoState(_game, _base, _projects[_lstResearch->getSelectedRow()]));
104104
RuleResearch *_proj = _projects[_lstResearch->getSelectedRow()];
105-
if((_proj)->needItem())
105+
if ((_proj)->needItem() && _game->getRuleset()->getUnit(_proj->getName()))
106106
{
107107
_base->getItems()->removeItem(_proj->getName(), 1);
108108
}

‎src/Ruleset/Ruleset.cpp‎

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1072,7 +1072,8 @@ RuleSoldier *Ruleset::getSoldier(const std::string &name) const
10721072
*/
10731073
Unit *Ruleset::getUnit(const std::string &name) const
10741074
{
1075-
return _units.find(name)->second;
1075+
std::map<std::string, Unit*>::const_iterator i = _units.find(name);
1076+
if (_units.end() != i) return i->second; else return 0;
10761077
}
10771078

10781079
/**

0 commit comments

Comments
 (0)