summaryrefslogtreecommitdiff
path: root/vcl/source/edit/texteng.cxx
diff options
context:
space:
mode:
authorStephan Bergmann <sbergman@redhat.com>2014-03-05 13:07:31 +0100
committerStephan Bergmann <sbergman@redhat.com>2014-03-05 17:45:18 +0100
commita7859d08ab3f4c214e83d311a5db7aeed2f707b5 (patch)
tree362a618b16d5709fe79ac43c7730212aa21f2e0a /vcl/source/edit/texteng.cxx
parentcf1878f5dcac82f61f696410faa685c7a2d795a8 (diff)
Work around unfortunate libstdc++ interpretation of C++ cmath requirements
...that causes a call to std::abs with a short argument to effectively select the double overload (via a template added with <http://gcc.gnu.org/git/ ?p=gcc.git;a=commit;h=8c0edf5c2aad076cbc805299ed82845ae049f4f6> "include/c_std/cmath (abs(_Tp)): Add"), see <http://www.open-std.org/jtc1/sc22/wg21/docs/lwg-toc.html#2192> "Validity and return type of std::abs(0u) is unclear" for details. The workaround is to use int instead of short arguments (and make sure the integral overloads of std::abs from cstdlib are available). Change-Id: If95363f9a54abb9cb1a57fd4828c4b91c12bc4be
Diffstat (limited to 'vcl/source/edit/texteng.cxx')
-rw-r--r--vcl/source/edit/texteng.cxx3
1 files changed, 2 insertions, 1 deletions
diff --git a/vcl/source/edit/texteng.cxx b/vcl/source/edit/texteng.cxx
index 0fdaa68befc2..5567c903b8a6 100644
--- a/vcl/source/edit/texteng.cxx
+++ b/vcl/source/edit/texteng.cxx
@@ -53,6 +53,7 @@
#include <unicode/ubidi.h>
+#include <cstdlib>
#include <set>
#include <vector>
#include <boost/foreach.hpp>
@@ -2183,7 +2184,7 @@ bool TextEngine::CreateLines( sal_uLong nPara )
pTEParaPortion->GetLines().push_back( pL );
}
- const short nInvalidDiff = pTEParaPortion->GetInvalidDiff();
+ const int nInvalidDiff = pTEParaPortion->GetInvalidDiff();
const sal_uInt16 nInvalidStart = pTEParaPortion->GetInvalidPosStart();
const sal_uInt16 nInvalidEnd = nInvalidStart + std::abs( nInvalidDiff );
bool bQuickFormat = false;