[poppler] poppler/SplashOutputDev.cc
GitLab Mirror
gitlab-mirror at kemper.freedesktop.org
Sat Sep 25 10:55:06 UTC 2021
poppler/SplashOutputDev.cc | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
New commits:
commit 07ce486444556f4d3b103e41219913f087d20ed2
Author: Albert Astals Cid <aacid at kde.org>
Date: Sat Sep 25 12:47:37 2021 +0200
Splash: Fix pattern whose values are not 0 but close enough
They were causing the resulting calculation to be bad
The new code looks "weird" as it basically just talkes the max value out
of 2 values in the matrix, but i've played with different values and it
works fine and the test suite can't find any rendering
regression either
Issue #1138
diff --git a/poppler/SplashOutputDev.cc b/poppler/SplashOutputDev.cc
index 10e40a0c..357a3156 100644
--- a/poppler/SplashOutputDev.cc
+++ b/poppler/SplashOutputDev.cc
@@ -4248,10 +4248,10 @@ bool SplashOutputDev::tilingPatternFill(GfxState *state, Gfx *gfxA, Catalog *cat
result_height = (int)ceil(fabs(ky * height * (y1 - y0)));
kx = state->getHDPI() / 72.0;
ky = state->getVDPI() / 72.0;
- m1.m[0] = (ptm[0] == 0) ? fabs(ptm[2]) * kx : fabs(ptm[0]) * kx;
+ m1.m[0] = std::max(fabs(ptm[0]), fabs(ptm[2])) * kx;
m1.m[1] = 0;
m1.m[2] = 0;
- m1.m[3] = (ptm[3] == 0) ? fabs(ptm[1]) * ky : fabs(ptm[3]) * ky;
+ m1.m[3] = std::max(fabs(ptm[1]), fabs(ptm[3])) * kx;
m1.m[4] = 0;
m1.m[5] = 0;
m1.transform(width, height, &kx, &ky);
More information about the poppler
mailing list