<html>
    <head>
      <base href="https://bugs.freedesktop.org/" />
    </head>
    <body>
      <p>
        <div>
            <b><a class="bz_bug_link 
          bz_status_NEW "
   title="NEW --- - regression in cairo_surface_t refcounting when using cairo_surface_unmap_image"
   href="https://bugs.freedesktop.org/show_bug.cgi?id=56981#c2">Comment # 2</a>
              on <a class="bz_bug_link 
          bz_status_NEW "
   title="NEW --- - regression in cairo_surface_t refcounting when using cairo_surface_unmap_image"
   href="https://bugs.freedesktop.org/show_bug.cgi?id=56981">bug 56981</a>
              from <span class="vcard"><a class="email" href="mailto:psychon@znc.in" title="Uli Schlachter <psychon@znc.in>"> <span class="fn">Uli Schlachter</span></a>
</span></b>
        <pre>Oh, that was easy. cairo_surface_unmap_image() finishes the image surface. This
does the following in _cairo_image_surface_finish():

    cairo_surface_destroy (surface->parent);

However, that extra reference was never taken. Possible fixes are:

- Add a call to cairo_surface_reference() in _cairo_image_surface_set_parent()
[This might possibly fix a similar bug in cairo-win32, however, no clue how
that parent-magic in cairo-win32 works exactly]
- Add that call in _cairo_image_surface_clone_subimage()
- Revert the faulty commit and go back to set_user_data()

I'll let Chris decide about this since he might know how this is supposed to
work while I don't (and cairo-win32 is too much black magic for my taste).</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>