<html>
    <head>
      <base href="https://bugs.freedesktop.org/" />
    </head>
    <body><table border="1" cellspacing="0" cellpadding="8">
        <tr>
          <th>Priority</th>
          <td>medium
          </td>
        </tr>

        <tr>
          <th>Bug ID</th>
          <td><a class="bz_bug_link 
          bz_status_NEW "
   title="NEW --- - cairo_surface_create_similar_clip can create negative surfaces"
   href="https://bugs.freedesktop.org/show_bug.cgi?id=70671">70671</a>
          </td>
        </tr>

        <tr>
          <th>Assignee</th>
          <td>poppler-bugs@lists.freedesktop.org
          </td>
        </tr>

        <tr>
          <th>Summary</th>
          <td>cairo_surface_create_similar_clip can create negative surfaces
          </td>
        </tr>

        <tr>
          <th>Severity</th>
          <td>major
          </td>
        </tr>

        <tr>
          <th>Classification</th>
          <td>Unclassified
          </td>
        </tr>

        <tr>
          <th>OS</th>
          <td>Linux (All)
          </td>
        </tr>

        <tr>
          <th>Reporter</th>
          <td>michael@cadilhac.name
          </td>
        </tr>

        <tr>
          <th>Hardware</th>
          <td>x86 (IA32)
          </td>
        </tr>

        <tr>
          <th>Status</th>
          <td>NEW
          </td>
        </tr>

        <tr>
          <th>Version</th>
          <td>unspecified
          </td>
        </tr>

        <tr>
          <th>Component</th>
          <td>cairo backend
          </td>
        </tr>

        <tr>
          <th>Product</th>
          <td>poppler
          </td>
        </tr></table>
      <p>
        <div>
        <pre>Created <span class=""><a href="attachment.cgi?id=87877" name="attach_87877" title="This PDF triggers a cairo error">attachment 87877</a> <a href="attachment.cgi?id=87877&action=edit" title="This PDF triggers a cairo error">[details]</a></span>
This PDF triggers a cairo error

The attached PDF is a single page containing an XObject which prints a Knockout
transparency group, which itself prints a non-Knockout transparency group.  It
is not properly drawn using evince because of a cairo error.

In greater details:

With this PDF, in cairo_surface_create_similar_clip, the surface resulting
from:

  result = cairo_surface_create_similar (target, content, width, height);

is defined with a negative height.  This in turn leads to the following Cairo
error when drawing the group:

  BAD status: invalid value (typically too big) for the size of the input
(surface, pattern, etc.)

I'm not sure what the comment:

  //XXX: negative matrix

in the body of the function is refering to, but indeed, there's a sign problem.


Adding abs(...) around the two substractions (CairoOutputDev.cc:1425 and next)
does the trick --- the PDF is rendered correctly ---, but I'm not sure this is
the right fix.

(Using git poppler)</pre>
        </div>
      </p>
      <hr>
      <span>You are receiving this mail because:</span>
      
      <ul>
          <li>You are the assignee for the bug.</li>
      </ul>
    </body>
</html>