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>
Co-Authored-By: Andrew Kesterson <andrew@aklabs.net>
This commit is contained in:
2026-08-01 00:16:03 -04:00
parent 5664995086
commit 3a016a99f6

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 loop; it should be `dest->layers[i].texture`. It also never NULLs the
pointers, so a second release is a use-after-free. pointers, so a second release is a use-after-free.
3. **`akgl_registry_init` never initializes the properties registry.** 3. **`akgl_registry_init` never initializes the properties registry.**
`akgl_registry_init_properties()` is not called from `akgl_registry_init()` **Fixed in 0.5.0**, alongside internal-consistency item 36, which is the same
(`src/registry.c:27`), so `AKGL_REGISTRY_PROPERTIES` stays 0 unless the function. `akgl_registry_init()` calls `akgl_registry_init_properties()` now,
caller initializes it separately. `akgl_set_property` is then a silent no-op so `AKGL_REGISTRY_PROPERTIES` is live for callers that do not also go through
and `akgl_get_property` always returns the caller's default, which means `akgl_game_init` -- which is what made `akgl_set_property` a silent no-op and
`akgl_physics_init_arcade` and `akgl_render_init2d` silently ignore `akgl_get_property` always hand back the caller's default, and so what made
configuration. `akgl_game_init` does call it; a caller that does not use `akgl_physics_init_arcade` and `akgl_render_2d_init` quietly ignore their
`akgl_game_init` does not get it. 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.** 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 calls exhausted the string pool. It was declared in no header, called from
nowhere, and duplicated what `akgl_path_relative` already does. Fixing an nowhere, and duplicated what `akgl_path_relative` already does. Fixing an
unfinished function nobody can reach is worse than deleting it; this also unfinished function nobody can reach is worse than deleting it; this also