Spreadsheet: Fixed crash when invalid unit was given as input.

This commit is contained in:
Eivind Kvedalen 2016-03-28 00:38:52 +02:00 committed by wmayer
parent e230f3c5e7
commit 6c80dd4eae

View File

@ -364,8 +364,10 @@ void Cell::setDisplayUnit(const std::string &unit)
{
DisplayUnit newDisplayUnit;
if (unit.size() > 0) {
std::auto_ptr<App::UnitExpression> e(ExpressionParser::parseUnit(owner->sheet(), unit.c_str()));
boost::shared_ptr<App::UnitExpression> e(ExpressionParser::parseUnit(owner->sheet(), unit.c_str()));
if (!e)
throw Base::Exception("Invalid unit");
newDisplayUnit = DisplayUnit(unit, e->getUnit(), e->getScaler());
}