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@xxxxxxxxxxxxxxx> --- 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 _______________________________________________ Spice-devel mailing list Spice-devel@xxxxxxxxxxxxxxxxxxxxx http://lists.freedesktop.org/mailman/listinfo/spice-devel