|  |  | @ -412,10 +412,16 @@ bool wlr_seat_validate_pointer_grab_serial(struct wlr_seat *seat, | 
			
		
	
		
		
			
				
					
					|  |  |  | 		struct wlr_surface *origin, uint32_t serial) { |  |  |  | 		struct wlr_surface *origin, uint32_t serial) { | 
			
		
	
		
		
			
				
					
					|  |  |  | 	if (seat->pointer_state.button_count != 1 || |  |  |  | 	if (seat->pointer_state.button_count != 1 || | 
			
		
	
		
		
			
				
					
					|  |  |  | 			seat->pointer_state.grab_serial != serial) { |  |  |  | 			seat->pointer_state.grab_serial != serial) { | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | 		wlr_log(WLR_DEBUG, "Pointer grab serial validation failed: " | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | 			"button_count=%"PRIu32" grab_serial=%"PRIu32" (got %"PRIu32")", | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | 			seat->pointer_state.button_count, | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | 			seat->pointer_state.grab_serial, serial); | 
			
		
	
		
		
			
				
					
					|  |  |  | 		return false; |  |  |  | 		return false; | 
			
		
	
		
		
			
				
					
					|  |  |  | 	} |  |  |  | 	} | 
			
		
	
		
		
			
				
					
					|  |  |  | 
 |  |  |  | 
 | 
			
		
	
		
		
			
				
					
					|  |  |  | 	if (origin != NULL && seat->pointer_state.focused_surface != origin) { |  |  |  | 	if (origin != NULL && seat->pointer_state.focused_surface != origin) { | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | 		wlr_log(WLR_DEBUG, "Pointer grab serial validation failed: " | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | 			"invalid origin surface"); | 
			
		
	
		
		
			
				
					
					|  |  |  | 		return false; |  |  |  | 		return false; | 
			
		
	
		
		
			
				
					
					|  |  |  | 	} |  |  |  | 	} | 
			
		
	
		
		
			
				
					
					|  |  |  | 
 |  |  |  | 
 | 
			
		
	
	
		
		
			
				
					|  |  | 
 |