version 1.33, 2009/09/10 17:16:24 |
version 1.34, 2009/09/12 13:01:19 |
|
|
RB_FOREACH(wl, winlinks, &s->windows) { |
RB_FOREACH(wl, winlinks, &s->windows) { |
if (wl->window != w) |
if (wl->window != w) |
continue; |
continue; |
destroyed = session_detach(s, wl); |
if (session_detach(s, wl)) { |
for (j = 0; j < ARRAY_LENGTH(&clients); j++) { |
server_destroy_session(s); |
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; |
break; |
|
} |
|
server_redraw_session(s); |
goto restart; |
goto restart; |
} |
} |
} |
} |