Skip to content

Commit

Permalink
Merge branch 'obsd-master'
Browse files Browse the repository at this point in the history
  • Loading branch information
ThomasAdam committed Aug 18, 2018
2 parents 522d751 + bd2896b commit e811132
Show file tree
Hide file tree
Showing 7 changed files with 13 additions and 21 deletions.
8 changes: 4 additions & 4 deletions cmd-find.c
Expand Up @@ -135,7 +135,7 @@ cmd_find_best_client(struct session *s)
{
struct client *c_loop, *c;

if (s->flags & SESSION_UNATTACHED)
if (s->attached == 0)
s = NULL;

c = NULL;
Expand All @@ -159,10 +159,10 @@ cmd_find_session_better(struct session *s, struct session *than, int flags)
if (than == NULL)
return (1);
if (flags & CMD_FIND_PREFER_UNATTACHED) {
attached = (~than->flags & SESSION_UNATTACHED);
if (attached && (s->flags & SESSION_UNATTACHED))
attached = (than->attached != 0);
if (attached && s->attached == 0)
return (1);
else if (!attached && (~s->flags & SESSION_UNATTACHED))
else if (!attached && s->attached != 0)
return (0);
}
return (timercmp(&s->activity_time, &than->activity_time, >));
Expand Down
11 changes: 2 additions & 9 deletions resize.c
Expand Up @@ -36,10 +36,6 @@
*
* This is quite inefficient - better/additional data structures are needed
* to make it better.
*
* As a side effect, this function updates the SESSION_UNATTACHED flag. This
* flag is necessary to make sure unattached sessions do not limit the size of
* windows that are attached both to them and to other (attached) sessions.
*/

void
Expand Down Expand Up @@ -79,11 +75,8 @@ recalculate_sizes(void)
s->attached++;
}
}
if (ssx == UINT_MAX || ssy == UINT_MAX) {
s->flags |= SESSION_UNATTACHED;
if (ssx == UINT_MAX || ssy == UINT_MAX)
continue;
}
s->flags &= ~SESSION_UNATTACHED;

if (lines != 0 && ssy == 0)
ssy = lines;
Expand All @@ -107,7 +100,7 @@ recalculate_sizes(void)

ssx = ssy = UINT_MAX;
RB_FOREACH(s, sessions, &sessions) {
if (s->flags & SESSION_UNATTACHED)
if (s->attached == 0)
continue;
if (flag)
has = s->curw->window == w;
Expand Down
2 changes: 1 addition & 1 deletion server-client.c
Expand Up @@ -1183,7 +1183,7 @@ server_client_check_focus(struct window_pane *wp)
TAILQ_FOREACH(c, &clients, entry) {
if (c->session == NULL || !(c->flags & CLIENT_FOCUSED))
continue;
if (c->session->flags & SESSION_UNATTACHED)
if (c->session->attached == 0)
continue;

if (c->session->curw->window == wp->window)
Expand Down
2 changes: 1 addition & 1 deletion server-fn.c
Expand Up @@ -431,7 +431,7 @@ server_check_unattached(void)
* set, collect them.
*/
RB_FOREACH(s, sessions, &sessions) {
if (!(s->flags & SESSION_UNATTACHED))
if (s->attached != 0)
continue;
if (options_get_number (s->options, "destroy-unattached"))
session_destroy(s, __func__);
Expand Down
2 changes: 1 addition & 1 deletion server.c
Expand Up @@ -318,7 +318,7 @@ server_update_socket(void)

n = 0;
RB_FOREACH(s, sessions, &sessions) {
if (!(s->flags & SESSION_UNATTACHED)) {
if (s->attached != 0) {
n++;
break;
}
Expand Down
4 changes: 2 additions & 2 deletions session.c
Expand Up @@ -265,7 +265,7 @@ session_lock_timer(__unused int fd, __unused short events, void *arg)
{
struct session *s = arg;

if (s->flags & SESSION_UNATTACHED)
if (s->attached == 0)
return;

log_debug("session %s locked, activity time %lld", s->name,
Expand Down Expand Up @@ -298,7 +298,7 @@ session_update_activity(struct session *s, struct timeval *from)
else
evtimer_set(&s->lock_timer, session_lock_timer, s);

if (~s->flags & SESSION_UNATTACHED) {
if (s->attached != 0) {
timerclear(&tv);
tv.tv_sec = options_get_number(s->options, "lock-after-time");
if (tv.tv_sec != 0)
Expand Down
5 changes: 2 additions & 3 deletions tmux.h
Expand Up @@ -942,9 +942,8 @@ struct session {
struct hooks *hooks;
struct options *options;

#define SESSION_UNATTACHED 0x1 /* not attached to any clients */
#define SESSION_PASTING 0x2
#define SESSION_ALERTED 0x4
#define SESSION_PASTING 0x1
#define SESSION_ALERTED 0x2
int flags;

u_int attached;
Expand Down

0 comments on commit e811132

Please sign in to comment.