[PATCH spice v0.12.6] Flush display commands before validating the surface.

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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




[Index of Archives]     [Linux ARM Kernel]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [IETF Annouce]     [Security]     [Bugtraq]     [Linux]     [Linux OMAP]     [Linux MIPS]     [ECOS]     [Asterisk Internet PBX]     [Linux API]     [Monitors]