mirror of
https://github.com/bilawalsidhu/gods-eye-view.git
synced 2026-11-14 23:32:20 +00:00
Finish an interrupted frame event as soon as its error surfaces
Retry used to apply the queued listener changes of a Cesium event a throwing listener left mid-raise, adds first and removes second. A layer turned off and on while the notice was up landed in both queues and was removed. The render and resize wrapper now finishes those events before it raises the render error, so later adds and removes apply at once and in order.
This commit is contained in:
1 parent
02a8442e6e
commit
d9e34f10c6
3 files changed
+95
-22
No files matched your search
@@ -1600,10 +1600,11 @@ render error before Cesium's loop handles it as before.
|
||||
until a frame starts and ends without a render error (Cesium raises
|
||||
`postRender` after a failed frame too), and a loop that fails again keeps it.
|
||||
A listener that throws leaves its Cesium event mid-raise, with listeners
|
||||
added or removed since only queued, so Retry first applies the queue of the
|
||||
frame and clock events (`finishRaise()`): the notice's frame watchers start
|
||||
with the next frame, and a listener removed since, for a layer turned off,
|
||||
is not called again.
|
||||
added or removed since only queued, so the `render()` and `resize()` wrapper
|
||||
finishes the frame and clock events it cut short (`finishRaise()`) before it
|
||||
raises the render error: the notice's frame watchers start with the next
|
||||
frame, a listener removed while the loop is stopped, for a layer turned off,
|
||||
is not called again, and one turned off and on again keeps running.
|
||||
- **Reload** after a lost context reloads the page: Cesium cannot draw into a
|
||||
context it has lost, and the address keeps the view.
|
||||
- **Reset view** opens the app's root address (`appRootUrl()`), without the
|
||||
|
||||
Reference in new issue
Block a user