<html>
<head>
<style><!--
.hmmessage P
{
margin:0px;
padding:0px
}
body.hmmessage
{
font-size: 12pt;
font-family:Calibri
}
--></style></head>
<body class='hmmessage'><div dir='ltr'>All of the cases in that switch in GfxPatchMeshShading::parse() are subtly different. Does someone have a PDF that exercises that code to see the effect of changing it?<div><br></div><div>Shading bugs can produce visible artifacts like <a href="https://bugs.freedesktop.org/show_bug.cgi?id=90570" target="_blank">https://bugs.freedesktop.org/show_bug.cgi?id=90570</a> <span style="font-size: 12pt;">so if you have a PDF that gets into that code, it should be easy to see which version of the assignments is correct.</span><div><br></div><div>William</div><div><br></div><div>> From: aacid@kde.org<br>> To: poppler@lists.freedesktop.org<br>> Date: Wed, 4 May 2016 01:40:33 +0200<br>> Subject: [poppler] Bug in GfxState.cc. What's the fix?<br>> <br>> If you look at line 5550 of GfxState.cc you'll see<br>> <br>>     p->color[0][1].c[j] = patchesA[nPatchesA-1].color[1][0].c[j];<br>>          p->color[0][1].c[j] = patchesA[nPatchesA-1].color[0][0].c[j];<br>> <br>> If you look carefully enough you see as we're setting a value and then <br>> immediately overwriting it \o/<br>> <br>> I've no idea of what this code does but by symmetry with line 5724 i'd say it <br>> should be<br>> <br>>     p->color[0][0].c[j] = patchesA[nPatchesA-1].color[1][0].c[j];<br>>          p->color[0][1].c[j] = patchesA[nPatchesA-1].color[0][0].c[j];<br>> <br>> Opinions?<br>> <br>> Cheers,<br>>   Albert<br></div></div>                                           </div></body>
</html>