From 46cd49ba244a465d51ae6454cc4b2b6935844818 Mon Sep 17 00:00:00 2001 From: jacob1 Date: Sat, 16 Feb 2019 19:20:55 -0500 Subject: [PATCH] Fix uncaught exception in console when trying to parse invalid numbers --- src/gui/game/SampleTool.cpp | 2 +- src/lua/TPTScriptInterface.cpp | 9 ++++++++- 2 files changed, 9 insertions(+), 2 deletions(-) diff --git a/src/gui/game/SampleTool.cpp b/src/gui/game/SampleTool.cpp index d104af614e..113ba330d2 100644 --- a/src/gui/game/SampleTool.cpp +++ b/src/gui/game/SampleTool.cpp @@ -54,7 +54,7 @@ void SampleTool::Draw(Simulation * sim, Brush * brush, ui::Point position) for(std::vector::iterator iter = elementTools.begin(), end = elementTools.end(); iter != end; ++iter) { Tool * elementTool = *iter; - if(elementTool && (elementTool->GetToolID() >> PMAPBITS) == particleCtype) + if(elementTool && ID(elementTool->GetToolID()) == particleCtype) gameModel->SetActiveTool(0, elementTool); } } diff --git a/src/lua/TPTScriptInterface.cpp b/src/lua/TPTScriptInterface.cpp index 7748dd535e..ddd1fa75d0 100644 --- a/src/lua/TPTScriptInterface.cpp +++ b/src/lua/TPTScriptInterface.cpp @@ -150,7 +150,14 @@ int TPTScriptInterface::parseNumber(String str) } else { - return str.ToNumber(); + try + { + return str.ToNumber(); + } + catch (std::exception & e) + { + throw GeneralException(ByteString(e.what()).FromUtf8()); + } } return currentNumber; }