summaryrefslogtreecommitdiff
path: root/writerfilter/source
diff options
context:
space:
mode:
authorMichael Stahl <mstahl@redhat.com>2014-07-04 00:29:55 +0200
committerMiklos Vajna <vmiklos@collabora.co.uk>2014-07-05 14:18:57 +0000
commit9bd699883800fe8bb554000b769d27fd5dcdfd83 (patch)
tree8070c043fe18c5d3909c2985f1b6cba1a0f1d847 /writerfilter/source
parent1f407caeb3f6e2605973458a545547ed82e7da1c (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/10079 Reviewed-by: Miklos Vajna <vmiklos@collabora.co.uk> Tested-by: Miklos Vajna <vmiklos@collabora.co.uk>
Diffstat (limited to 'writerfilter/source')
-rw-r--r--writerfilter/source/resourcemodel/Fraction.cxx6
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;
}