opt: optimzie drag_tile_to_tile logic

This commit is contained in:
DreamMaoMao 2025-05-14 20:55:05 +08:00
parent 94f502915e
commit 67259641de

View file

@ -2556,12 +2556,14 @@ void place_drag_tile_client(Client *c) {
} }
} }
} }
if(closest_client) { if(closest_client && closest_client->link.prev != &c->link) {
wl_list_remove(&c->link); wl_list_remove(&c->link);
c->link.next = &closest_client->link; c->link.next = &closest_client->link;
c->link.prev = closest_client->link.prev; c->link.prev = closest_client->link.prev;
closest_client->link.prev->next = &c->link; closest_client->link.prev->next = &c->link;
closest_client->link.prev = &c->link; closest_client->link.prev = &c->link;
} else if(closest_client) {
exchange_two_client(c, closest_client);
} }
setfloating(c, 0); setfloating(c, 0);
} }