<html>
    <head>
      <base href="https://bugs.freedesktop.org/" />
    </head>
    <body>
      <p>
        <div>
            <b><a class="bz_bug_link 
          bz_status_NEW "
   title="NEW --- - Regression since 1.11.4: Corrupt drawing on mingw64 build used with virt-viewer 0.5.5 binaries"
   href="https://bugs.freedesktop.org/show_bug.cgi?id=61876#c4">Comment # 4</a>
              on <a class="bz_bug_link 
          bz_status_NEW "
   title="NEW --- - Regression since 1.11.4: Corrupt drawing on mingw64 build used with virt-viewer 0.5.5 binaries"
   href="https://bugs.freedesktop.org/show_bug.cgi?id=61876">bug 61876</a>
              from <span class="vcard"><a class="email" href="mailto:marcandre.lureau@gmail.com" title="Marc-Andre Lureau <marcandre.lureau@gmail.com>"> <span class="fn">Marc-Andre Lureau</span></a>
</span></b>
        <pre>(In reply to <a href="show_bug.cgi?id=61876#c2">comment #2</a>)
<span class="quote">> (In reply to <a href="show_bug.cgi?id=61876#c0">comment #0</a>)
> [...]
> > Unfortunately, I was unable to do a git bisect between them due to hitting
> > several compilation issues.
> [...]

> Do you happen to have the final range of possible-faulty commits around? Did
> you use "git bisect skip" to "work around" those compile issues?</span >

unfortunately, no. As Grant C. is saying, many commits do not build on win32
(>90%). I am afraid git bisect is not going to be of any help, there has been
too much win32 broken change between 1.11.2 and 1.11.4

<span class="quote">> (In reply to <a href="show_bug.cgi?id=61876#c1">comment #1</a>)
> You have a reference leak in spicex_image_destroy(). You have to call
> cairo_surface_destroy() even when you call cairo_surface_finish(). The
> latter function doesn't drop any references.</span >

Ah, thanks for pointing out!

<span class="quote">> Since this mentions DLLs and mingw64: The problem should be in
> cairo-windows, right? The image surface used as d->ximage contains the
> correct data?</span >

Yes: hiding & showing back the widget or widget region is enough to fix the
display (also the scaled version is correct, and using older version of cairo
works)

<span class="quote">> Now that I have written this question: Do you call
> cairo_surface_mark_dirty() / cairo_surface_mark_dirty_rectangle() /
> cairo_surface_flush() where needed?</span >

No, we never did that, but should probably!

<span class="quote">> You could try inserting a call to cairo_surface_mark_dirty(d->ximage) at the
> beginning of spicex_draw_event() and see if it helps (but of course this is
> not a fix, the code which messes with the image data should mark it dirty
> instead)</span >

Unfortunately, it didn't help.

Thanks for your suggestions!</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>