fix focus leave condition
needs refactoring and testing
This commit is contained in:
		
							
								
								
									
										7
									
								
								dwl.c
									
									
									
									
									
								
							
							
						
						
									
										7
									
								
								dwl.c
									
									
									
									
									
								
							@@ -2067,10 +2067,11 @@ void
 | 
			
		||||
unmaplayersurface(LayerSurface *layersurface)
 | 
			
		||||
{
 | 
			
		||||
	if (
 | 
			
		||||
		seat->keyboard_state.focused_surface
 | 
			
		||||
		layersurface->layer_surface->current.keyboard_interactive
 | 
			
		||||
		&& seat->keyboard_state.focused_surface
 | 
			
		||||
		&& wlr_surface_is_layer_surface(seat->keyboard_state.focused_surface)
 | 
			
		||||
		&& !wlr_layer_surface_v1_from_wlr_surface(seat->keyboard_state.focused_surface)
 | 
			
		||||
			->current.keyboard_interactive
 | 
			
		||||
		&& wlr_layer_surface_v1_from_wlr_surface(seat->keyboard_state.focused_surface)
 | 
			
		||||
			== layersurface->layer_surface
 | 
			
		||||
	)
 | 
			
		||||
		wlr_seat_keyboard_notify_clear_focus(seat);
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user