Skip to content

Commit 36a1453

Browse files
seabeeberryseabeeberry
andauthored
Add workaround for a Safari bug where our number input fields can't be released from click-and-drag (#3053)
Added fallback for Safari to trigger a pointerLockChange in case it doesnt fire automatically Co-authored-by: seabeeberry <[email protected]>
1 parent 615c035 commit 36a1453

File tree

1 file changed

+5
-0
lines changed

1 file changed

+5
-0
lines changed

frontend/src/components/widgets/inputs/NumberInput.svelte

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -365,6 +365,11 @@
365365
cumulativeDragDelta = 0;
366366
367367
document.exitPointerLock();
368+
369+
// Fallback for Safari in case pointerlockchange never fires
370+
setTimeout(() => {
371+
if (!document.pointerLockElement) pointerLockChange();
372+
}, 0);
368373
};
369374
const pointerMove = (e: PointerEvent) => {
370375
// Abort the drag if right click is down. This works here because a "pointermove" event is fired when right clicking even if the cursor didn't move.

0 commit comments

Comments
 (0)