From c03e8501716ea22f5735df02d8e45040e391f8fd Mon Sep 17 00:00:00 2001 From: Axel Wagner Date: Sat, 7 Aug 2010 02:34:02 +0200 Subject: [PATCH] Correct the Macro-calls in src/xcb.c --- i3bar/src/xcb.c | 19 ++++++++++++------- 1 file changed, 12 insertions(+), 7 deletions(-) diff --git a/i3bar/src/xcb.c b/i3bar/src/xcb.c index bdb1b5f5..dd19feaf 100644 --- a/i3bar/src/xcb.c +++ b/i3bar/src/xcb.c @@ -102,18 +102,18 @@ void handle_button(xcb_button_press_event_t *event) { break; case 4: /* Mouse wheel down. We select the next ws */ - if (cur_ws == TAILQ_FIRST(walk->workspaces, ws_head)) { - cur_ws = TAILQ_LAST(walk->workspaces); + if (cur_ws == TAILQ_FIRST(walk->workspaces)) { + cur_ws = TAILQ_LAST(walk->workspaces, ws_head); } else { - cur_ws = TAILQ_PREV(cur_ws, tailq); + cur_ws = TAILQ_PREV(cur_ws, ws_head, tailq); } break; case 5: /* Mouse wheel up. We select the previos ws */ - if (cur_ws == TAILQ_LAST(walk->workspaces)) { - cur_ws = TAILQ_FIRST(walk->workspaces, ws_head); + if (cur_ws == TAILQ_LAST(walk->workspaces, ws_head)) { + cur_ws = TAILQ_FIRST(walk->workspaces); } else { - cur_ws = TAILQ_NEXT(cur_ws, ws_head, tailq); + cur_ws = TAILQ_NEXT(cur_ws, tailq); } break; } @@ -256,7 +256,12 @@ void init_xcb(char *fontname) { * */ void clean_xcb() { - /* FIXME: destroy() the bars first */ + i3_output *walk; + SLIST_FOREACH(walk, outputs, slist) { + destroy_window(walk); + } + FREE_SLIST(outputs, i3_output); + xcb_disconnect(xcb_connection); ev_check_stop(main_loop, xcb_chk); -- 2.39.5