From ed7c9db6ae67650adf093afda60d1828ef74b19f Mon Sep 17 00:00:00 2001 From: Denis Dolzhenko Date: Thu, 22 Dec 2016 11:15:28 +0200 Subject: [PATCH] TizenRefApp-7856 Wrong character counter in Conversation Change-Id: Iec06d49e0253f2520c1b29bdfd30741b6ef32e96 Signed-off-by: Denis Dolzhenko --- src/Common/MsgEngine/src/MsgEngine.cpp | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/src/Common/MsgEngine/src/MsgEngine.cpp b/src/Common/MsgEngine/src/MsgEngine.cpp index 5a0bd11a..76124563 100644 --- a/src/Common/MsgEngine/src/MsgEngine.cpp +++ b/src/Common/MsgEngine/src/MsgEngine.cpp @@ -26,6 +26,7 @@ #endif #include +#include using namespace Msg; @@ -453,10 +454,12 @@ void MsgEngine::calculateTextMetric(const std::string &text, MsgTextMetric &text if (textLen == 0) textLen = text.length() / bytesInChar; - textMetric.segmentsCount = (textLen / (segmentLen + 1)) + 1; + textMetric.segmentsCount = (int)ceil((float)textLen / segmentLen); + if (textMetric.segmentsCount == 0) + textMetric.segmentsCount = 1; if (textLen > 0) - textMetric.charsLeft = segmentLen - (textLen % (segmentLen + 1)); + textMetric.charsLeft = (textMetric.segmentsCount * segmentLen) - textLen; else textMetric.charsLeft = maxGsm7Len; -- 2.34.1