Browse Source

pointerid compatibility for Safari (#8670)

Cedric Guillemet 5 years ago
parent
commit
537fcd9779
1 changed files with 8 additions and 0 deletions
  1. 8 0
      src/Inputs/scene.inputManager.ts

+ 8 - 0
src/Inputs/scene.inputManager.ts

@@ -607,6 +607,8 @@ export class InputManager {
         };
 
         this._onPointerMove = (evt: PointerEvent) => {
+            // preserve compatibility with Safari when pointerId is not present
+            (evt as any).pointerId = evt.pointerId ?? 0;
 
             this._updatePointerPosition(evt);
 
@@ -634,6 +636,9 @@ export class InputManager {
             this._pickedDownMesh = null;
             this._meshPickProceed = false;
 
+            // preserve compatibility with Safari when pointerId is not present
+            (evt as any).pointerId = evt.pointerId ?? 0;
+
             this._updatePointerPosition(evt);
 
             if (scene.preventDefaultOnPointerDown && elementToAttachTo) {
@@ -678,6 +683,9 @@ export class InputManager {
             this._pickedUpMesh = null;
             this._meshPickProceed = false;
 
+            // preserve compatibility with Safari when pointerId is not present
+            (evt as any).pointerId = evt.pointerId ?? 0;
+
             this._updatePointerPosition(evt);
 
             if (scene.preventDefaultOnPointerUp && elementToAttachTo) {