diff --git a/client.c b/client.c index 4f93c49c2..65b85b699 100644 --- a/client.c +++ b/client.c @@ -484,12 +484,8 @@ client_unmanage(Client *c, long state, awesome_config *awesomeconf) if(get_current_tag(awesomeconf->screens[c->screen])->client_sel == c) focus(NULL, True, awesomeconf, c->screen); for(tag = 0; tag < awesomeconf->screens[c->screen].ntags; tag++) - { - if(awesomeconf->screens[c->screen].tags[tag].client_sel == c) - awesomeconf->screens[c->screen].tags[tag].client_sel = NULL; untag_client(&awesomeconf->screens[c->screen].tclink, c, &awesomeconf->screens[c->screen].tags[tag]); - } XUngrabButton(c->display, AnyButton, AnyModifier, c->win); window_setstate(c->display, c->win, state); XSync(c->display, False); diff --git a/tag.c b/tag.c index 481266aed..a2259ba3c 100644 --- a/tag.c +++ b/tag.c @@ -75,7 +75,11 @@ untag_client(TagClientLink **head, Client *c, Tag *t) for(tc = *head; tc; tc = tc->next) if(tc->client == c && tc->tag == t) + { detach_tagclientlink(head, tc); + if(t->client_sel == c) + t->client_sel = NULL; + } } Bool