@ -1095,6 +1095,21 @@ kiosk_shell_handle_seat_created(struct wl_listener *listener, void *data) 
			
		
	
		
			
				
						kiosk_shell_seat_create ( shell ,  seat ) ;   
			
		
	
		
			
				
					}  
			
		
	
		
			
				
					
 
			
		
	
		
			
				
					static  void  
			
		
	
		
			
				
					kiosk_shell_destroy_surfaces_on_layer ( struct  weston_layer  * layer )  
			
		
	
		
			
				
					{  
			
		
	
		
			
				
					       struct  weston_view  * view ,  * view_next ;   
			
		
	
		
			
				
					
 
			
		
	
		
			
				
					       wl_list_for_each_safe ( view ,  view_next ,  & layer - > view_list . link ,  layer_link . link )  {   
			
		
	
		
			
				
					               struct  kiosk_shell_surface  * shsurf  =   
			
		
	
		
			
				
					                       get_kiosk_shell_surface ( view - > surface ) ;   
			
		
	
		
			
				
					               assert ( shsurf ) ;   
			
		
	
		
			
				
					               kiosk_shell_surface_destroy ( shsurf ) ;   
			
		
	
		
			
				
					       }   
			
		
	
		
			
				
					
 
			
		
	
		
			
				
					       weston_layer_fini ( layer ) ;   
			
		
	
		
			
				
					}  
			
		
	
		
			
				
					
 
			
		
	
		
			
				
					static  void  
			
		
	
		
			
				
					kiosk_shell_destroy ( struct  wl_listener  * listener ,  void  * data )  
			
		
	
		
			
				
					{  
			
		
	
	
		
			
				
					
						
						
						
							
								 
						
					 
				
				@ -1114,16 +1129,19 @@ kiosk_shell_destroy(struct wl_listener *listener, void *data) 
			
		
	
		
			
				
							kiosk_shell_output_destroy ( shoutput ) ;   
			
		
	
		
			
				
						}   
			
		
	
		
			
				
					
 
			
		
	
		
			
				
						/* bg layer doesn't contain a weston_desktop_surface, and
   
			
		
	
		
			
				
						 *  kiosk_shell_output_destroy ( )  takes  care  of  destroying  it ,  we ' re  just   
			
		
	
		
			
				
						 *  doing  a  weston_layer_fini ( )  here  as  there  might  be  multiple  bg  views  */   
			
		
	
		
			
				
						weston_layer_fini ( & shell - > background_layer ) ;   
			
		
	
		
			
				
						kiosk_shell_destroy_surfaces_on_layer ( & shell - > normal_layer ) ;   
			
		
	
		
			
				
						kiosk_shell_destroy_surfaces_on_layer ( & shell - > inactive_layer ) ;   
			
		
	
		
			
				
					
 
			
		
	
		
			
				
						wl_list_for_each_safe ( shseat ,  shseat_next ,  & shell - > seat_list ,  link )  {   
			
		
	
		
			
				
							kiosk_shell_seat_destroy ( shseat ) ;   
			
		
	
		
			
				
						}   
			
		
	
		
			
				
					
 
			
		
	
		
			
				
						weston_desktop_destroy ( shell - > desktop ) ;   
			
		
	
		
			
				
					
 
			
		
	
		
			
				
						weston_layer_fini ( & shell - > background_layer ) ;   
			
		
	
		
			
				
						weston_layer_fini ( & shell - > normal_layer ) ;   
			
		
	
		
			
				
						weston_layer_fini ( & shell - > inactive_layer ) ;   
			
		
	
		
			
				
					
 
			
		
	
		
			
				
						free ( shell ) ;   
			
		
	
		
			
				
					}