diff --git a/src/client.c b/src/client.c index ebcf1ef..8a14462 100644 --- a/src/client.c +++ b/src/client.c @@ -995,6 +995,8 @@ client_size_hints(Client *c) void client_swap(Client *c1, Client *c2) { + int tmp; + /* Check if no one of these clients are free */ CHECK(!(c1->flags & FreeFlag)); CHECK(!(c2->flags & FreeFlag)); @@ -1002,6 +1004,13 @@ client_swap(Client *c1, Client *c2) if(c1 == c2) return; + if(c1->tag != c2->tag) + { + tmp = c1->tag; + c1->tag = c2->tag; + c2->tag = tmp; + } + /* Swap only the windows */ swap_ptr((void**)&c1->win, (void**)&c2->win);