File tree 2 files changed +12
-1
lines changed
2 files changed +12
-1
lines changed Original file line number Diff line number Diff line change @@ -8,7 +8,11 @@ import {
8
8
import { customDirectEventTypes } from './customDirectEventTypes' ;
9
9
import RNGestureHandlerModule from '../RNGestureHandlerModule' ;
10
10
import { State } from '../State' ;
11
- import { handlerIDToTag , registerOldGestureHandler } from './handlersRegistry' ;
11
+ import {
12
+ handlerIDToTag ,
13
+ registerOldGestureHandler ,
14
+ unregisterOldGestureHandler ,
15
+ } from './handlersRegistry' ;
12
16
import { getNextHandlerTag } from './getNextHandlerTag' ;
13
17
14
18
import {
@@ -255,6 +259,9 @@ export default function createHandler<
255
259
componentWillUnmount ( ) {
256
260
this . inspectorToggleListener ?. remove ( ) ;
257
261
this . isMountedRef . current = false ;
262
+ if ( Platform . OS !== 'web' ) {
263
+ unregisterOldGestureHandler ( this . handlerTag ) ;
264
+ }
258
265
RNGestureHandlerModule . dropGestureHandler ( this . handlerTag ) ;
259
266
scheduleFlushOperations ( ) ;
260
267
// We can't use this.props.id directly due to TS generic type narrowing bug, see https://github.com/microsoft/TypeScript/issues/13995 for more context
Original file line number Diff line number Diff line change @@ -25,6 +25,10 @@ export function registerOldGestureHandler(
25
25
oldHandlers . set ( handlerTag , handler ) ;
26
26
}
27
27
28
+ export function unregisterOldGestureHandler ( handlerTag : number ) {
29
+ oldHandlers . delete ( handlerTag ) ;
30
+ }
31
+
28
32
export function unregisterHandler ( handlerTag : number , testID ?: string ) {
29
33
gestures . delete ( handlerTag ) ;
30
34
if ( isTestEnv ( ) && testID ) {
You can’t perform that action at this time.
0 commit comments