Skip to content

Commit 2547216

Browse files
zjm-metameta-codesync[bot]
authored andcommitted
fix(core) Add stopPropagation in pointer event listeners to avoid unexpected grab behavior.
Summary: Add stopPropagation in pointer event listeners in InputSystem to avoid unexpected grab behavior. This follows the implementation in handle store class https://github.com/pmndrs/xr/blob/main/packages/handle/src/store.ts#L169 Reviewed By: felixtrz Differential Revision: D89066943 fbshipit-source-id: 044c5606cb3367c240833d516091e7e0d8668b0e
1 parent 64a6b98 commit 2547216

File tree

1 file changed

+9
-5
lines changed

1 file changed

+9
-5
lines changed

packages/core/src/input/input-system.ts

Lines changed: 9 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
* LICENSE file in the root directory of this source tree.
66
*/
77

8-
import type { PointerEventsMap } from '@pmndrs/pointer-events';
8+
import type { PointerEvent, PointerEventsMap } from '@pmndrs/pointer-events';
99
import { createSystem, Entity, VisibilityState } from '../ecs/index.js';
1010
import { Mesh, Object3D, Object3DEventMap } from '../runtime/index.js';
1111
import { Transform } from '../transform/index.js';
@@ -116,22 +116,26 @@ export class InputSystem extends createSystem(
116116
}
117117
};
118118

119-
const enter = () => {
119+
const enter = (event: PointerEvent) => {
120120
maybeRefreshBVH();
121+
event.stopPropagation();
121122
if (!entity.hasComponent(Hovered)) {
122123
entity.addComponent(Hovered);
123124
}
124125
};
125-
const leave = () => {
126+
const leave = (event: PointerEvent) => {
127+
event.stopPropagation();
126128
entity.removeComponent(Hovered);
127129
};
128-
const down = () => {
130+
const down = (event: PointerEvent) => {
129131
maybeRefreshBVH();
132+
event.stopPropagation();
130133
if (!entity.hasComponent(Pressed)) {
131134
entity.addComponent(Pressed);
132135
}
133136
};
134-
const up = () => {
137+
const up = (event: PointerEvent) => {
138+
event.stopPropagation();
135139
entity.removeComponent(Pressed);
136140
};
137141

0 commit comments

Comments
 (0)