[Spice-devel] [PATCH x11spice] Fix a bug in the tests.

Jeremy White jwhite at codeweavers.com
Thu Jul 18 22:09:27 UTC 2019


We were overly dependent on timing for success; now we
deliberately wait for our GC and drawing to finish.

Signed-off-by: Jeremy White <jwhite at codeweavers.com>
---
 src/tests/xcb.c | 15 +++++++++++----
 1 file changed, 11 insertions(+), 4 deletions(-)

diff --git a/src/tests/xcb.c b/src/tests/xcb.c
index 6be4a69b..709cdfd4 100644
--- a/src/tests/xcb.c
+++ b/src/tests/xcb.c
@@ -82,6 +82,8 @@ int xcb_draw_grid(const char *display)
     xcb_gcontext_t red_fg;
     xcb_gcontext_t green_fg;
 
+    xcb_void_cookie_t cookie;
+
     xcb_rectangle_t red_rectangles[32];
     xcb_rectangle_t green_rectangles[32];
 
@@ -96,19 +98,24 @@ int xcb_draw_grid(const char *display)
     red_fg = xcb_generate_id(c);
     lookup_color(c, screen, "red", &pixels[0]);
     pixels[1] = 0;
-    xcb_create_gc(c, red_fg, screen->root, XCB_GC_FOREGROUND, pixels);
+    cookie = xcb_create_gc_checked(c, red_fg, screen->root, XCB_GC_FOREGROUND, pixels);
+    xcb_request_check(c, cookie);
 
     green_fg = xcb_generate_id(c);
     lookup_color(c, screen, "green", &pixels[0]);
     pixels[1] = 0;
-    xcb_create_gc(c, green_fg, screen->root, XCB_GC_FOREGROUND, pixels);
+    cookie = xcb_create_gc_checked(c, green_fg, screen->root, XCB_GC_FOREGROUND, pixels);
+    xcb_request_check(c, cookie);
 
     create_rectangles(red_rectangles, green_rectangles, screen->width_in_pixels,
                       screen->height_in_pixels);
 
     /* We draw the rectangles */
-    xcb_poly_fill_rectangle_checked(c, screen->root, red_fg, 32, red_rectangles);
-    xcb_poly_fill_rectangle_checked(c, screen->root, green_fg, 32, green_rectangles);
+    cookie = xcb_poly_fill_rectangle_checked(c, screen->root, red_fg, 32, red_rectangles);
+    xcb_request_check(c, cookie);
+
+    cookie = xcb_poly_fill_rectangle_checked(c, screen->root, green_fg, 32, green_rectangles);
+    xcb_request_check(c, cookie);
 
     /* We flush the request */
     xcb_flush(c);
-- 
2.11.0



More information about the Spice-devel mailing list