[Poppler-bugs] [Bug 91188] New: Strange splashRound behaviour that sometimes causes all white render on windows.

bugzilla-daemon at freedesktop.org bugzilla-daemon at freedesktop.org
Thu Jul 2 02:52:33 PDT 2015


https://bugs.freedesktop.org/show_bug.cgi?id=91188

            Bug ID: 91188
           Summary: Strange splashRound behaviour that sometimes causes
                    all white render on windows.
           Product: poppler
           Version: unspecified
          Hardware: Other
                OS: Windows (All)
            Status: NEW
          Severity: normal
          Priority: medium
         Component: splash backend
          Assignee: poppler-bugs at lists.freedesktop.org
          Reporter: lztoad at gmail.com

Created attachment 116871
  --> https://bugs.freedesktop.org/attachment.cgi?id=116871&action=edit
Suggested patch

With USE_FLOAT=ON on windows the splashRound from splash/SplashMath.h always
returns 0. So it renders all white pdfs.

It is caused by the line

 __asm fld QWORD PTR x

Looks like for floats it should be.

 __asm fld DWORD PTR x

I don't know assembler, so have no idea why (and, actually, if, I haven't
compiled it for LNX) it is working with GCC for double and float values with
"fldl   %4" and is it safe.

Strange is that there is no workaround, like in the other rounding functions in
the file. That is, like

#elif USE_FLOAT
  return (int)roundf(x);

So, actually maybe it is better to use this method to fix the issue and not the
attached patch.
Attached is the patch to change the windows assembly code.

-- 
You are receiving this mail because:
You are the assignee for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.freedesktop.org/archives/poppler-bugs/attachments/20150702/86977585/attachment.html>


More information about the Poppler-bugs mailing list