mirror of
https://github.com/Bubberstation/Bubberstation.git
synced 2025-12-17 13:12:37 +00:00
* Fix out of bounds in lighting subsystem (#75018) ## About The Pull Request Fixes #74697 Look at this for loopbfba2c5934/code/controllers/subsystem/lighting.dm (L34-L39)Now look at update cornersbfba2c5934/code/modules/lighting/lighting_source.dm (L428-L430)Now look at refresh values. this proc has a chance to delete itself herebfba2c5934/code/modules/lighting/lighting_source.dm (L315-L318)And herebfba2c5934/code/modules/lighting/lighting_source.dm (L331-L334)Now look at the Destroy proc, specifically focus on the needs_update conditionbfba2c5934/code/modules/lighting/lighting_source.dm (L66-L67)We are removing the light from the subsystem source queue while the subsystem is still iterating through them causing big problems for this for loopbfba2c5934/code/controllers/subsystem/lighting.dm (L33-L37)which causes the out of bounds exception because loop variable `i` is not updated accordingly when this list size is reduced mid iteration. The solution? we have to move the loop variable `i` back whenever the source is deleted i.e. removed from the list so we don't overflow ## Changelog 🆑 fix: out of bounds when updating lights in lighting subsystem /🆑 --------- Co-authored-by: LemonInTheDark <58055496+LemonInTheDark@ users.noreply.github.com> * Fix out of bounds in lighting subsystem --------- Co-authored-by: SyncIt21 <110812394+SyncIt21@users.noreply.github.com> Co-authored-by: LemonInTheDark <58055496+LemonInTheDark@ users.noreply.github.com>
17 KiB
17 KiB