diff options
| author | Jonathan Bradley <jcb@pikum.xyz> | 2025-02-25 18:45:04 -0500 |
|---|---|---|
| committer | Jonathan Bradley <jcb@pikum.xyz> | 2025-02-25 18:45:04 -0500 |
| commit | 4cd201da9cd2b26dc39b064e81f17b92e796e532 (patch) | |
| tree | 491357e60625cfca518779bf58cc8560ade92af7 /src/entities.cpp | |
| parent | 665197f050584ec4cab5120574ff127b3da49563 (diff) | |
pke: EntityType unregister callback on unload
Diffstat (limited to 'src/entities.cpp')
| -rw-r--r-- | src/entities.cpp | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/src/entities.cpp b/src/entities.cpp index 2ace423..10a1168 100644 --- a/src/entities.cpp +++ b/src/entities.cpp @@ -1108,8 +1108,7 @@ void EntityType_Load(EntityType &et) { uint64_t id = 0; id |= ((uint64_t)helper.et.handle.bucketIndex << 32); id |= ((uint64_t)helper.et.handle.itemIndex); - // TODO pk.h currently does not offer a way to unregister this callback (EntityType_Unload) - pk_ev_register_cb(pke_ev_mgr_id_window, pke_ev_id_framebuffer_length_changed, EntityType_Inner_UpdateDescriptorSets_EvCallabck, reinterpret_cast<void *>(id)); + helper.et.pke_ev_cb_id_framebuffer_resized = pk_ev_register_cb(pke_ev_mgr_id_window, pke_ev_id_framebuffer_length_changed, EntityType_Inner_UpdateDescriptorSets_EvCallabck, reinterpret_cast<void *>(id)); // TODO DeviceMemory @@ -1123,6 +1122,8 @@ void EntityType_Unload(EntityType &et, CompGrBinds *grBindsArr[1]) { if (et.modelAssetKey[0] == '\0') return; et.modelAssetKey[0] = '\0'; + pk_ev_unregister_cb(pke_ev_mgr_id_window, pke_ev_id_framebuffer_length_changed, et.pke_ev_cb_id_framebuffer_resized); + EntityType_Inner_DestroyDescriptors(&et); for (long k = 0; k < et.detailsCount; ++k) { EntityTypeDetails &etd = et.details[k]; |
