| 
						
						
							
								
							
						
						
					 | 
					 | 
					@ -117,7 +117,8 @@ static void updateCursorMode(_GLFWwindow* window) | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        _glfwPlatformSetCursorPos(window, | 
					 | 
					 | 
					 | 
					        _glfwPlatformSetCursorPos(window, | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					                                  _glfw.ns.restoreCursorPosX, | 
					 | 
					 | 
					 | 
					                                  _glfw.ns.restoreCursorPosX, | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					                                  _glfw.ns.restoreCursorPosY); | 
					 | 
					 | 
					 | 
					                                  _glfw.ns.restoreCursorPosY); | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        CGAssociateMouseAndMouseCursorPosition(true); | 
					 | 
					 | 
					 | 
					        // NOTE: The matching CGAssociateMouseAndMouseCursorPosition call is | 
				
			
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					        //       made in _glfwPlatformSetCursorPos as part of a workaround | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    } | 
					 | 
					 | 
					 | 
					    } | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					
 | 
					 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    if (cursorInContentArea(window)) | 
					 | 
					 | 
					 | 
					    if (cursorInContentArea(window)) | 
				
			
			
		
	
	
		
		
			
				
					| 
						
							
								
							
						
						
							
								
							
						
						
					 | 
					 | 
					@ -1518,6 +1519,11 @@ void _glfwPlatformSetCursorPos(_GLFWwindow* window, double x, double y) | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					                                              _glfwTransformYNS(globalPoint.y))); | 
					 | 
					 | 
					 | 
					                                              _glfwTransformYNS(globalPoint.y))); | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    } | 
					 | 
					 | 
					 | 
					    } | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					
 | 
					 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					    // HACK: Calling this right after setting the cursor position prevents macOS | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					    //       from freezing the cursor for a fraction of a second afterwards | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					    if (window->cursorMode != GLFW_CURSOR_DISABLED) | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					        CGAssociateMouseAndMouseCursorPosition(true); | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    } // autoreleasepool | 
					 | 
					 | 
					 | 
					    } // autoreleasepool | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					} | 
					 | 
					 | 
					 | 
					} | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					
 | 
					 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
	
		
		
			
				
					| 
						
							
								
							
						
						
						
					 | 
					 | 
					
  |