<html>
    <head>
      <base href="https://bugs.freedesktop.org/">
    </head>
    <body><span class="vcard"><a class="email" href="mailto:jskarvad@redhat.com" title="Jaroslav Škarvada <jskarvad@redhat.com>"> <span class="fn">Jaroslav Škarvada</span></a>
</span> changed
          <a class="bz_bug_link 
          bz_status_NEW "
   title="NEW - Assertion "(_cairo_atomic_int_get (&(&surface->ref_count)->ref_count) > 0)""
   href="https://bugs.freedesktop.org/show_bug.cgi?id=91967">bug 91967</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;">Attachment #124212 is obsolete</td>
           <td>
                
           </td>
           <td>1
           </td>
         </tr></table>
      <p>
        <div>
            <b><a class="bz_bug_link 
          bz_status_NEW "
   title="NEW - Assertion "(_cairo_atomic_int_get (&(&surface->ref_count)->ref_count) > 0)""
   href="https://bugs.freedesktop.org/show_bug.cgi?id=91967#c35">Comment # 35</a>
              on <a class="bz_bug_link 
          bz_status_NEW "
   title="NEW - Assertion "(_cairo_atomic_int_get (&(&surface->ref_count)->ref_count) > 0)""
   href="https://bugs.freedesktop.org/show_bug.cgi?id=91967">bug 91967</a>
              from <span class="vcard"><a class="email" href="mailto:jskarvad@redhat.com" title="Jaroslav Škarvada <jskarvad@redhat.com>"> <span class="fn">Jaroslav Škarvada</span></a>
</span></b>
        <pre>Created <span class=""><a href="attachment.cgi?id=124576" name="attach_124576" title="Proposed fix">attachment 124576</a> <a href="attachment.cgi?id=124576&action=edit" title="Proposed fix">[details]</a></span> <a href='page.cgi?id=splinter.html&bug=91967&attachment=124576'>[review]</a>
Proposed fix

I received report, that the provided reproducer can still crash cairo.

The problem is that cairo doesn't count that the drawable can disappear any
time during processing. So it can call X calls on invalid drawable. Which is
beginning of all troubles. The attached patch added more NOOP handlers to X
calls which can be called with invalid drawable.

I am not sure whether it is the right way to go or whether it's known cairo
limitation that the drawable mustn't disappear. Maybe this should be fixed in
wnck. But it needs to be fixed somewhere. The problem is very easy to trigger -
it's enough if an X application just removes or simply changes it's icon in a
wrong time.</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>