From 94d0e5486a966e168e214b8a012207564ec8b657 Mon Sep 17 00:00:00 2001 From: ArseniyShestakov Date: Tue, 23 Dec 2014 07:38:58 +0300 Subject: [PATCH] CSplitWindow: added input check This one fixes issue 1952 --- client/windows/GUIClasses.cpp | 23 +++++++++++++++++------ 1 file changed, 17 insertions(+), 6 deletions(-) diff --git a/client/windows/GUIClasses.cpp b/client/windows/GUIClasses.cpp index bd106291b2..f3bfe5cf1d 100644 --- a/client/windows/GUIClasses.cpp +++ b/client/windows/GUIClasses.cpp @@ -400,14 +400,25 @@ CSplitWindow::CSplitWindow(const CCreature * creature, std::function(text), left); - slider->moveTo(rightAmount - rightMin); - } - catch(boost::bad_lexical_cast &) + int amount = 0; + if (text.length()) { + try + { + amount = boost::lexical_cast(text); + } + catch(boost::bad_lexical_cast &) + { + amount = left ? leftAmount : rightAmount; + } + + int total = leftAmount + rightAmount; + if (amount > total) + amount = total; } + + setAmount(amount, left); + slider->moveTo(rightAmount - rightMin); } void CSplitWindow::setAmount(int value, bool left)