mirror of
				https://github.com/tmux/tmux.git
				synced 2025-11-04 00:56:10 +00:00 
			
		
		
		
	Sync OpenBSD patchset 591:
Fix a couple of problems with grouped sessions reported by danh: redraw properly and choose the correct last window after a window is killed.
This commit is contained in:
		@@ -1,4 +1,4 @@
 | 
			
		||||
/* $Id: server-fn.c,v 1.99 2009-12-04 22:14:47 tcunha Exp $ */
 | 
			
		||||
/* $Id: server-fn.c,v 1.100 2009-12-26 23:45:21 tcunha Exp $ */
 | 
			
		||||
 | 
			
		||||
/*
 | 
			
		||||
 * Copyright (c) 2007 Nicholas Marriott <nicm@users.sourceforge.net>
 | 
			
		||||
@@ -250,10 +250,8 @@ server_kill_window(struct window *w)
 | 
			
		||||
 | 
			
		||||
		if (session_detach(s, wl))
 | 
			
		||||
			server_destroy_session_group(s);
 | 
			
		||||
		else {
 | 
			
		||||
			server_redraw_session(s);
 | 
			
		||||
			server_status_session_group(s);
 | 
			
		||||
		}
 | 
			
		||||
		else
 | 
			
		||||
			server_redraw_session_group(s);
 | 
			
		||||
	}
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										10
									
								
								session.c
									
									
									
									
									
								
							
							
						
						
									
										10
									
								
								session.c
									
									
									
									
									
								
							@@ -1,4 +1,4 @@
 | 
			
		||||
/* $Id: session.c,v 1.73 2009-12-04 22:14:47 tcunha Exp $ */
 | 
			
		||||
/* $Id: session.c,v 1.74 2009-12-26 23:45:21 tcunha Exp $ */
 | 
			
		||||
 | 
			
		||||
/*
 | 
			
		||||
 * Copyright (c) 2007 Nicholas Marriott <nicm@users.sourceforge.net>
 | 
			
		||||
@@ -548,10 +548,10 @@ session_group_synchronize1(struct session *target, struct session *s)
 | 
			
		||||
		return;
 | 
			
		||||
 | 
			
		||||
	/* If the current window has vanished, move to the next now. */
 | 
			
		||||
	if (s->curw != NULL) {
 | 
			
		||||
		while (winlink_find_by_index(ww, s->curw->idx) == NULL)
 | 
			
		||||
			session_next(s, 0);
 | 
			
		||||
	}
 | 
			
		||||
	if (s->curw != NULL &&
 | 
			
		||||
	    winlink_find_by_index(ww, s->curw->idx) == NULL &&
 | 
			
		||||
	    session_last(s) != 0 && session_previous(s, 0) != 0)
 | 
			
		||||
		session_next(s, 0);
 | 
			
		||||
 | 
			
		||||
	/* Save the old pointer and reset it. */
 | 
			
		||||
	memcpy(&old_windows, &s->windows, sizeof old_windows);
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user