mirror of
				https://github.com/tmux/tmux.git
				synced 2025-11-03 16:46:18 +00:00 
			
		
		
		
	Don't segfaut when the parent of the layout cell is NULL, from Thomas Adam.
This commit is contained in:
		
							
								
								
									
										12
									
								
								window.c
									
									
									
									
									
								
							
							
						
						
									
										12
									
								
								window.c
									
									
									
									
									
								
							@@ -423,10 +423,15 @@ window_pane_active_set(struct window_pane *wp, struct window_pane *nextwp)
 | 
			
		||||
void
 | 
			
		||||
window_pane_active_lost(struct window_pane *wp, struct window_pane *nextwp)
 | 
			
		||||
{
 | 
			
		||||
	struct layout_cell	*lc, *lc2;
 | 
			
		||||
	struct layout_cell	*lc, *lc2, *lcparent;
 | 
			
		||||
 | 
			
		||||
	/* Get the parent cell. */
 | 
			
		||||
	lcparent = nextwp->layout_cell->parent;
 | 
			
		||||
	if (lcparent == NULL)
 | 
			
		||||
		return;
 | 
			
		||||
 | 
			
		||||
	/* Save the target pane in its parent. */
 | 
			
		||||
	nextwp->layout_cell->parent->lastwp = nextwp;
 | 
			
		||||
	lcparent->lastwp = nextwp;
 | 
			
		||||
 | 
			
		||||
	/*
 | 
			
		||||
	 * Save the source pane in all of its parents up to, but not including,
 | 
			
		||||
@@ -435,8 +440,7 @@ window_pane_active_lost(struct window_pane *wp, struct window_pane *nextwp)
 | 
			
		||||
	if (wp == NULL)
 | 
			
		||||
		return;
 | 
			
		||||
	for (lc = wp->layout_cell->parent; lc != NULL; lc = lc->parent) {
 | 
			
		||||
		lc2 = nextwp->layout_cell->parent;
 | 
			
		||||
		for (; lc2 != NULL; lc2 = lc2->parent) {
 | 
			
		||||
		for (lc2 = lcparent; lc2 != NULL; lc2 = lc2->parent) {
 | 
			
		||||
			if (lc == lc2)
 | 
			
		||||
				return;
 | 
			
		||||
		}
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user