Merge branch 'obsd-master'

Conflicts:
	Makefile
	cmd-link-window.c
	cmd-unlink-window.c
This commit is contained in:
Thomas Adam
2014-10-29 12:50:05 +00:00
21 changed files with 134 additions and 213 deletions

View File

@ -126,7 +126,7 @@ session_create(const char *name, int argc, char **argv, const char *path,
s->name = NULL;
do {
s->id = next_session_id++;
free (s->name);
free(s->name);
xasprintf(&s->name, "%u", s->id);
} while (RB_FIND(sessions, &sessions, s) != NULL);
}
@ -491,6 +491,19 @@ session_group_remove(struct session *s)
}
}
/* Count number of sessions in session group. */
u_int
session_group_count(struct session_group *sg)
{
struct session *s;
u_int n;
n = 0;
TAILQ_FOREACH(s, &sg->sessions, gentry)
n++;
return (n);
}
/* Synchronize a session to its session group. */
void
session_group_synchronize_to(struct session *s)
@ -578,8 +591,9 @@ session_group_synchronize1(struct session *target, struct session *s)
/* Then free the old winlinks list. */
while (!RB_EMPTY(&old_windows)) {
wl = RB_ROOT(&old_windows);
if (winlink_find_by_window_id(&s->windows, wl->window->id) == NULL)
notify_window_unlinked(s, wl->window);
wl2 = winlink_find_by_window_id(&s->windows, wl->window->id);
if (wl2 == NULL)
notify_window_unlinked(s, wl->window);
winlink_remove(&old_windows, wl);
}
}