<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#c2">Comment # 2</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:psychon@znc.in" title="Uli Schlachter <psychon@znc.in>"> <span class="fn">Uli Schlachter</span></a>
</span></b>
        <pre>(In reply to <a href="show_bug.cgi?id=61876#c0">comment #0</a>)
[...]
<span class="quote">> Unfortunately, I was unable to do a git bisect between them due to hitting
> several compilation issues.</span >
[...]

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?

(In reply to <a href="show_bug.cgi?id=61876#c1">comment #1</a>)
<span class="quote">> The SpiceGtk widget is a GtkDrawingArea that is
> gtk_widget_set_double_buffered(), whose expose event uses a
> gdk_cairo_create() context and drawn with spicex_draw_event():
> <a href="http://cgit.freedesktop.org/spice/spice-gtk/tree/gtk/spice-widget-cairo.c">http://cgit.freedesktop.org/spice/spice-gtk/tree/gtk/spice-widget-cairo.c</a></span >

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.

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?

Now that I have written this question: Do you call cairo_surface_mark_dirty() /
cairo_surface_mark_dirty_rectangle() / cairo_surface_flush() where needed?
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)</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>