<html>
    <head>
      <base href="https://bugs.freedesktop.org/">
    </head>
    <body><span class="vcard"><a class="email" href="mailto:jason@inspiresomeone.us" title="Jason Crain <jason@inspiresomeone.us>"> <span class="fn">Jason Crain</span></a>
</span> changed
          <a class="bz_bug_link 
          bz_status_NEW "
   title="NEW - CAIRO_STATUS_NO_MEMORY after filling with pattern and large translation"
   href="https://bugs.freedesktop.org/show_bug.cgi?id=102966">bug 102966</a>
          <br>
             <table border="1" cellspacing="0" cellpadding="8">
          <tr>
            <th>What</th>
            <th>Removed</th>
            <th>Added</th>
          </tr>

         <tr>
           <td style="text-align:right;">QA Contact</td>
           <td>
                
           </td>
           <td>cairo-bugs@cairographics.org
           </td>
         </tr>

         <tr>
           <td style="text-align:right;">Component</td>
           <td>cairo backend
           </td>
           <td>general
           </td>
         </tr>

         <tr>
           <td style="text-align:right;">Assignee</td>
           <td>poppler-bugs@lists.freedesktop.org
           </td>
           <td>chris@chris-wilson.co.uk
           </td>
         </tr>

         <tr>
           <td style="text-align:right;">Product</td>
           <td>poppler
           </td>
           <td>cairo
           </td>
         </tr>

         <tr>
           <td style="text-align:right;">Summary</td>
           <td>Internal Error: cairo context error: out of memory<0a>
           </td>
           <td>CAIRO_STATUS_NO_MEMORY after filling with pattern and large translation
           </td>
         </tr></table>
      <p>
        <div>
            <b><a class="bz_bug_link 
          bz_status_NEW "
   title="NEW - CAIRO_STATUS_NO_MEMORY after filling with pattern and large translation"
   href="https://bugs.freedesktop.org/show_bug.cgi?id=102966#c1">Comment # 1</a>
              on <a class="bz_bug_link 
          bz_status_NEW "
   title="NEW - CAIRO_STATUS_NO_MEMORY after filling with pattern and large translation"
   href="https://bugs.freedesktop.org/show_bug.cgi?id=102966">bug 102966</a>
              from <span class="vcard"><a class="email" href="mailto:jason@inspiresomeone.us" title="Jason Crain <jason@inspiresomeone.us>"> <span class="fn">Jason Crain</span></a>
</span></b>
        <pre>This PDF is doing a pattern fill under odd coordinates. For some reason having
a large offset to the operation makes cairo have an out of memory error. It's
doing roughly this:


// create pattern
cairo_surface_t *surfacep = cairo_image_surface_create (CAIRO_FORMAT_ARGB32,
                                                        25, 25);
cairo_t *crp = cairo_create (surfacep);
cairo_set_source_rgb (crp, 0, 0, 0);
cairo_paint (crp);
cairo_pattern_t *pattern = cairo_pattern_create_for_surface (surfacep);
cairo_matrix_t mat = {2, 0, 0, 2, 0, 0};
cairo_pattern_set_matrix (pattern, &mat);
cairo_pattern_set_extend (pattern, CAIRO_EXTEND_REPEAT);

// draw pattern to surface
cairo_surface_t *surface = cairo_image_surface_create (CAIRO_FORMAT_ARGB32,
                                                       100, 100);
cairo_t *cr0 = cairo_create (surface);
cairo_translate (cr0, 0, -50000);
cairo_set_source (cr0, pattern);
cairo_rectangle (cr0, 0, 50000, 100, 100);
cairo_fill (cr0);

cairo_status_t status = cairo_status (cr0);
printf ("cairo_status: %s\n", cairo_status_to_string (status));</pre>
        </div>
      </p>


      <hr>
      <span>You are receiving this mail because:</span>

      <ul>
          <li>You are the QA Contact for the bug.</li>
      </ul>
    </body>
</html>