sw/source/filter/ww8/docxsdrexport.cxx | 26 ++++++++++++++++++++------ 1 file changed, 20 insertions(+), 6 deletions(-)
New commits: commit 2a99a22af0062e9561046a4a00f12dc97e5bd4f4 Author: Tor Lillqvist <t...@collabora.com> Date: Fri May 23 10:33:09 2014 +0300 WaE: comparison is always false due to limited range of data type Signed-off-by: Stephan Bergmann <sberg...@redhat.com>; plus some cosmetics to silence loplugin:bodynotinblock. Change-Id: I8ff9da84021635c9de66c9544b46834a2d9efcf7 diff --git a/sw/source/filter/ww8/docxsdrexport.cxx b/sw/source/filter/ww8/docxsdrexport.cxx index 50bfb7d..c8ffe94 100644 --- a/sw/source/filter/ww8/docxsdrexport.cxx +++ b/sw/source/filter/ww8/docxsdrexport.cxx @@ -536,19 +536,33 @@ void DocxSdrExport::startDMLAnchorInline(const SwFrmFmt* pFrmFmt, const Size& rS sal_uInt64 cx = 0 ; sal_uInt64 cy = 0 ; const sal_Int64 MAX_INTEGER_VALUE = 2147483647; + + // the 'Size' type uses 'long' for width and height, so on + // platforms where 'long' is 32 bits they can obviously never be + // larger than the max signed 32-bit integer. +#if SAL_TYPES_SIZEOFLONG > 4 if (rSize.Width() > MAX_INTEGER_VALUE) cx = MAX_INTEGER_VALUE ; - else if (0 > rSize.Width()) - cx = 0 ; else - cx = rSize.Width(); +#endif + { + if (0 > rSize.Width()) + cx = 0 ; + else + cx = rSize.Width(); + } +#if SAL_TYPES_SIZEOFLONG > 4 if (rSize.Height() > MAX_INTEGER_VALUE) cy = MAX_INTEGER_VALUE ; - else if (0 > rSize.Height()) - cy = 0 ; else - cy = rSize.Height(); +#endif + { + if (0 > rSize.Height()) + cy = 0 ; + else + cy = rSize.Height(); + } OString aWidth(OString::number(TwipsToEMU(cx))); //we explicitly check the converted EMU value for the range as mentioned in above comment. _______________________________________________ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits