|  |  |  | @ -231,8 +231,9 @@ static void _close(struct sway_view *view) { | 
			
		
	
		
			
				
					|  |  |  |  | 		return; | 
			
		
	
		
			
				
					|  |  |  |  | 	} | 
			
		
	
		
			
				
					|  |  |  |  | 	struct wlr_xdg_surface *surface = view->wlr_xdg_surface; | 
			
		
	
		
			
				
					|  |  |  |  | 	if (surface->role == WLR_XDG_SURFACE_ROLE_TOPLEVEL) { | 
			
		
	
		
			
				
					|  |  |  |  | 		wlr_xdg_surface_send_close(surface); | 
			
		
	
		
			
				
					|  |  |  |  | 	if (surface->role == WLR_XDG_SURFACE_ROLE_TOPLEVEL | 
			
		
	
		
			
				
					|  |  |  |  | 			&& surface->toplevel) { | 
			
		
	
		
			
				
					|  |  |  |  | 		wlr_xdg_toplevel_send_close(surface); | 
			
		
	
		
			
				
					|  |  |  |  | 	} | 
			
		
	
		
			
				
					|  |  |  |  | } | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
	
		
			
				
					|  |  |  | @ -240,7 +241,10 @@ static void close_popups_iterator(struct wlr_surface *surface, | 
			
		
	
		
			
				
					|  |  |  |  | 		int sx, int sy, void *data) { | 
			
		
	
		
			
				
					|  |  |  |  | 	struct wlr_xdg_surface *xdg_surface = | 
			
		
	
		
			
				
					|  |  |  |  | 		wlr_xdg_surface_from_wlr_surface(surface); | 
			
		
	
		
			
				
					|  |  |  |  | 	wlr_xdg_surface_send_close(xdg_surface); | 
			
		
	
		
			
				
					|  |  |  |  | 	if (xdg_surface->role == WLR_XDG_SURFACE_ROLE_POPUP | 
			
		
	
		
			
				
					|  |  |  |  | 			&& xdg_surface->popup) { | 
			
		
	
		
			
				
					|  |  |  |  | 		wlr_xdg_popup_destroy(xdg_surface); | 
			
		
	
		
			
				
					|  |  |  |  | 	} | 
			
		
	
		
			
				
					|  |  |  |  | } | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  | static void close_popups(struct sway_view *view) { | 
			
		
	
	
		
			
				
					|  |  |  | 
 |