diff options
author | Stephan Bergmann <sbergman@redhat.com> | 2014-03-05 13:07:31 +0100 |
---|---|---|
committer | Stephan Bergmann <sbergman@redhat.com> | 2014-03-05 17:45:18 +0100 |
commit | a7859d08ab3f4c214e83d311a5db7aeed2f707b5 (patch) | |
tree | 362a618b16d5709fe79ac43c7730212aa21f2e0a /vcl/source/edit | |
parent | cf1878f5dcac82f61f696410faa685c7a2d795a8 (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')
-rw-r--r-- | vcl/source/edit/texteng.cxx | 3 |
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; |