=================================================================== RCS file: /cvsrepo/anoncvs/cvs/src/usr.bin/tmux/server.c,v retrieving revision 1.33 retrieving revision 1.34 diff -c -r1.33 -r1.34 *** src/usr.bin/tmux/server.c 2009/09/10 17:16:24 1.33 --- src/usr.bin/tmux/server.c 2009/09/12 13:01:19 1.34 *************** *** 1,4 **** ! /* $OpenBSD: server.c,v 1.33 2009/09/10 17:16:24 nicm Exp $ */ /* * Copyright (c) 2007 Nicholas Marriott --- 1,4 ---- ! /* $OpenBSD: server.c,v 1.34 2009/09/12 13:01:19 nicm Exp $ */ /* * Copyright (c) 2007 Nicholas Marriott *************** *** 1211,1231 **** RB_FOREACH(wl, winlinks, &s->windows) { if (wl->window != w) continue; ! destroyed = session_detach(s, wl); ! for (j = 0; j < ARRAY_LENGTH(&clients); j++) { ! c = ARRAY_ITEM(&clients, j); ! if (c == NULL || c->session != s) ! continue; ! if (!destroyed) { ! server_redraw_client(c); ! continue; ! } ! c->session = NULL; ! server_write_client(c, MSG_EXIT, NULL, 0); ! } ! /* If the session was destroyed, bail now. */ ! if (destroyed) break; goto restart; } } --- 1211,1221 ---- RB_FOREACH(wl, winlinks, &s->windows) { if (wl->window != w) continue; ! if (session_detach(s, wl)) { ! server_destroy_session(s); break; + } + server_redraw_session(s); goto restart; } }