[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