From f44d4edc9b489c3e9c1876c3b71b15a509d57aef Mon Sep 17 00:00:00 2001 From: Jamey Sharp Date: Sat, 9 Oct 2010 19:44:49 -0700 Subject: [PATCH] hypnomoire: Handle failed connections. Signed-off-by: Jamey Sharp --- hypnomoire.c | 20 +++++--------------- 1 file changed, 5 insertions(+), 15 deletions(-) diff --git a/hypnomoire.c b/hypnomoire.c index cab3c31..03cc7af 100644 --- a/hypnomoire.c +++ b/hypnomoire.c @@ -91,20 +91,6 @@ int main() /*NOTREACHED*/ } -void paint(int idx) -{ - xcb_copy_area(c, windows[idx].p, windows[idx].w, white, 0, 0, 0, 0, - windows[idx].width, windows[idx].height); - /* FIXME: better error detection for broken pipe - if(!xcb_sync(c, 0)) - { - perror("xcb_sync_t failed"); - abort(); - } - */ - xcb_aux_sync(c); -} - void *run(void *param) { int idx = (int)param; @@ -166,7 +152,11 @@ void *run(void *param) xcb_poly_line(c, XCB_COORD_MODE_ORIGIN, windows[idx].p, white, 2, line); - paint(idx); + xcb_copy_area(c, windows[idx].p, windows[idx].w, white, 0, 0, 0, 0, + windows[idx].width, windows[idx].height); + if(xcb_flush(c) <= 0) + break; + theta += windows[idx].angv; while(theta > 2 * PI) theta -= 2 * PI; -- 2.34.1