<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>