From 10884ca2e9e2a36e86cd06cccea0b6fec500ef0a Mon Sep 17 00:00:00 2001 From: Johan Malm Date: Mon, 6 Dec 2021 21:07:08 +0000 Subject: [PATCH] desktop: simplify desktop_move_view_to_end_of_cycle() --- src/desktop.c | 20 ++++++++++++-------- 1 file changed, 12 insertions(+), 8 deletions(-) diff --git a/src/desktop.c b/src/desktop.c index 8963ee4a..43e5da66 100644 --- a/src/desktop.c +++ b/src/desktop.c @@ -170,16 +170,20 @@ desktop_cycle_view(struct server *server, struct view *current, enum lab_cycle_d return view; } +static void +wl_list_insert_tail(struct wl_list *list, struct wl_list *elm) +{ + elm->prev = list->prev; + elm->next = list; + list->prev = elm; + elm->prev->next = elm; +} + void -desktop_move_view_to_end_of_cycle(struct view *to_end) { +desktop_move_view_to_end_of_cycle(struct view *to_end) +{ wl_list_remove(&to_end->link); - struct view *view; - wl_list_for_each_reverse (view, &to_end->server->views, link) { - wl_list_insert(&view->link, &to_end->link); - return; - } - /* if the foreach did not return, this window was the only one in the list, so just reinsert it at the start */ - wl_list_insert(&to_end->server->views, &to_end->link); + wl_list_insert_tail(&to_end->server->views, &to_end->link); } static bool