|  | @@ -831,6 +831,7 @@ class App extends React.Component<AppProps, AppState> {
 | 
	
		
			
				|  |  |    });
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |    private removeEventListeners() {
 | 
	
		
			
				|  |  | +    document.removeEventListener(EVENT.POINTER_UP, this.removePointer);
 | 
	
		
			
				|  |  |      document.removeEventListener(EVENT.COPY, this.onCopy);
 | 
	
		
			
				|  |  |      document.removeEventListener(EVENT.PASTE, this.pasteFromClipboard);
 | 
	
		
			
				|  |  |      document.removeEventListener(EVENT.CUT, this.onCut);
 | 
	
	
		
			
				|  | @@ -872,6 +873,7 @@ class App extends React.Component<AppProps, AppState> {
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |    private addEventListeners() {
 | 
	
		
			
				|  |  |      this.removeEventListeners();
 | 
	
		
			
				|  |  | +    document.addEventListener(EVENT.POINTER_UP, this.removePointer); // #3553
 | 
	
		
			
				|  |  |      document.addEventListener(EVENT.COPY, this.onCopy);
 | 
	
		
			
				|  |  |      if (this.props.handleKeyboardGlobally) {
 | 
	
		
			
				|  |  |        document.addEventListener(EVENT.KEYDOWN, this.onKeyDown, false);
 | 
	
	
		
			
				|  | @@ -1328,7 +1330,7 @@ class App extends React.Component<AppProps, AppState> {
 | 
	
		
			
				|  |  |      this.setState(obj);
 | 
	
		
			
				|  |  |    };
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -  removePointer = (event: React.PointerEvent<HTMLElement>) => {
 | 
	
		
			
				|  |  | +  removePointer = (event: React.PointerEvent<HTMLElement> | PointerEvent) => {
 | 
	
		
			
				|  |  |      // remove touch handler for context menu on touch devices
 | 
	
		
			
				|  |  |      if (event.pointerType === "touch" && touchTimeout) {
 | 
	
		
			
				|  |  |        clearTimeout(touchTimeout);
 |