Skip to content

fix: stop MarkerLayer wrap loops on a non-finite camera - #2242

Open
AzazelSensei wants to merge 1 commit into
fleaflet:masterfrom
AzazelSensei:fix/marker-layer-nonfinite-camera
Open

fix: stop MarkerLayer wrap loops on a non-finite camera#2242
AzazelSensei wants to merge 1 commit into
fleaflet:masterfrom
AzazelSensei:fix/marker-layer-nonfinite-camera

Conversation

@AzazelSensei

Copy link
Copy Markdown

Fixes #2240

#2178 only rejects a non-finite Marker.point. A NaN camera still makes Rect.overlaps return true for every world copy, so the wrap loops never stop.

I skip MarkerLayer when the camera isn't finite, and I skip wrapping a marker if its projected point isn't finite either. There's also a 30-shift cap like workAcrossWorlds, so a future never-culls bug throws instead of taking the process down.

Widget test: rotate(double.nan), then pump() has to return.

fleaflet#2178 only rejects a non-finite Marker.point. A NaN camera still
makes Rect.overlaps return true for every world copy, so the wrap
loops never stop.

Skip the layer when the camera is not finite, skip wrapping a
marker whose projected point is not finite, and cap world shifts
the same way workAcrossWorlds already does.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

A non-finite camera makes MarkerLayer's world-wrap loops unbounded (OOM/ANR) — _projectPoints guards the points but nothing guards the camera

1 participant