[Spice-devel] [PATCH spice v0.12.6] Flush display commands before validating the surface.
Jeremy White
jwhite at codeweavers.com
Tue Dec 8 07:11:08 PST 2015
This fixes a display glitch in xspice which is caused when
a surface create is queued, but then a direct call to update
the area is issued. Unless we flush the queue, the surface
does not exist, and we fail.
Signed-off-by: Jeremy White <jwhite at codeweavers.com>
---
This issue is resolved in the tip, so this patch is only useful in any build
prior to 3941d03d116df8213836719dce179d40bf55a6ca.
---
server/red_worker.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/server/red_worker.c b/server/red_worker.c
index babb597..ea855ce 100644
--- a/server/red_worker.c
+++ b/server/red_worker.c
@@ -11053,12 +11053,13 @@ void handle_dev_update(void *opaque, void *payload)
QXLRect *qxl_dirty_rects = msg->qxl_dirty_rects;
uint32_t clear_dirty_region = msg->clear_dirty_region;
+ flush_display_commands(worker);
+
VALIDATE_SURFACE_RET(worker, surface_id);
rect = spice_new0(SpiceRect, 1);
surface = &worker->surfaces[surface_id];
red_get_rect_ptr(rect, qxl_area);
- flush_display_commands(worker);
spice_assert(worker->running);
--
2.1.4
More information about the Spice-devel
mailing list