Record that akgl_registry_init now brings up the properties registry

Missed in the previous commit, which made the change.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-08-01 00:16:03 -04:00
parent 19530f6a97
commit 6b1cf437d3

16
TODO.md
View File

@@ -660,15 +660,15 @@ Each was found by a test written to assert correct behavior.
loop; it should be `dest->layers[i].texture`. It also never NULLs the
pointers, so a second release is a use-after-free.
3. **`akgl_registry_init` never initializes the properties registry.**
`akgl_registry_init_properties()` is not called from `akgl_registry_init()`
(`src/registry.c:27`), so `AKGL_REGISTRY_PROPERTIES` stays 0 unless the
caller initializes it separately. `akgl_set_property` is then a silent no-op
and `akgl_get_property` always returns the caller's default, which means
`akgl_physics_init_arcade` and `akgl_render_init2d` silently ignore
configuration. `akgl_game_init` does call it; a caller that does not use
`akgl_game_init` does not get it.
**Fixed in 0.5.0**, alongside internal-consistency item 36, which is the same
function. `akgl_registry_init()` calls `akgl_registry_init_properties()` now,
so `AKGL_REGISTRY_PROPERTIES` is live for callers that do not also go through
`akgl_game_init` -- which is what made `akgl_set_property` a silent no-op and
`akgl_get_property` always hand back the caller's default, and so what made
`akgl_physics_init_arcade` and `akgl_render_2d_init` quietly ignore their
configuration. `tests/registry.c` sets a property and reads it back.
4. **`akgl_path_relative_from` is a stub that leaks.** **Deleted in 0.5.0.**
It claimed a heap string, never wrote `*dst`, and never released it, so 256
It claimed a heap string, never wrote its output, and never released it, so 256
calls exhausted the string pool. It was declared in no header, called from
nowhere, and duplicated what `akgl_path_relative` already does. Fixing an
unfinished function nobody can reach is worse than deleting it; this also