diff options
author | Michael Stahl <mstahl@redhat.com> | 2014-07-04 00:29:55 +0200 |
---|---|---|
committer | Miklos Vajna <vmiklos@collabora.co.uk> | 2014-07-05 13:55:36 +0000 |
commit | e255e5eedf9263b4a98bdf74bcbbc25a52f09bec (patch) | |
tree | cd363fd2f515714673d8d867b6cb83e72fe8fbad | |
parent | a5f36fd02ad88af4bab74a074e676cf239e15d14 (diff) |
fdo#76803: writerfilter: fix image wrap polygon import again
The division in Fraction::init() should be a signed one, to prevent a
change in sign, e.g., -220869/9 = +477194047.
(regression from f8307e5ae11e8235fa1fb88ed52625bf9c650dc2)
Change-Id: Icbbd1721144ff42c53ae71312641bd601ba60762
(cherry picked from commit dcbac37efebb9877a72f7c9914b63d60f46a5656)
Reviewed-on: https://gerrit.libreoffice.org/10081
Reviewed-by: Miklos Vajna <vmiklos@collabora.co.uk>
Tested-by: Miklos Vajna <vmiklos@collabora.co.uk>
-rw-r--r-- | writerfilter/source/resourcemodel/Fraction.cxx | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/writerfilter/source/resourcemodel/Fraction.cxx b/writerfilter/source/resourcemodel/Fraction.cxx index 1f24bb3e5b51..ba76985150a4 100644 --- a/writerfilter/source/resourcemodel/Fraction.cxx +++ b/writerfilter/source/resourcemodel/Fraction.cxx @@ -79,9 +79,11 @@ Fraction::~Fraction() void Fraction::init(sal_Int32 nNumerator, sal_Int32 nDenominator) { - sal_uInt32 nGCD = gcd(abs(nNumerator), abs(nDenominator)); + // fdo#41068 pass non-negative numbers to gcd + sal_Int32 const nGCD = gcd(abs(nNumerator), abs(nDenominator)); - mnNumerator = nNumerator/ nGCD; + // fdo#76803 do signed division + mnNumerator = nNumerator / nGCD; mnDenominator = nDenominator / nGCD; } |