[cairo-bugs] [Bug 85005] integrated VNC/Spice viewer widget in virt-manager stops updating w/ xlib-xcb enabled cairo

bugzilla-daemon at freedesktop.org bugzilla-daemon at freedesktop.org
Sun Aug 2 08:26:46 PDT 2015


https://bugs.freedesktop.org/show_bug.cgi?id=85005

Uli Schlachter <psychon at znc.in> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|NEW                         |RESOLVED
         Resolution|---                         |NOTOURBUG

--- Comment #3 from Uli Schlachter <psychon at znc.in> ---
Sigh. The bug is in spice.

In `spike-gtk-0.25` (I'm looking at the version in debian testing), go to
`gtk/spice-widget-cairo.c`, line 126. After the `if (d->ximage) {` add
`cairo_surface_mark_dirty(d->ximage)` and see if that fixes the problem. It
might also make everything die with an assertion failure.

I cannot find any code that draws to the cairo image surface that is saved in
`d->ximage`, but from what I see is that spice is modifying the image data
inside of an image surface behind of cairo's back. Spice has to call
`cairo_surface_flush()` before drawing directly to that data and
`cairo_surface_mark_dirty()` or `cairo_surface_mark_dirty_area()` afterwards.

Without this, cairo assumes that the pixel content of the image surface did not
change and thus does some clever caching to speed things up. This might only
break with `xlib-xcb`, but is still a bug in spice.

-- 
You are receiving this mail because:
You are the QA Contact for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.cairographics.org/archives/cairo-bugs/attachments/20150802/4dba7d92/attachment.html>


More information about the cairo-bugs mailing list