ObjectVision / GeoDMS

Source code for the GeoDMS software
Other
7 stars 1 forks source link

GDAL memory leaks via FieldInfo::m_DataHolder #712

Closed MaartenHilferink closed 3 months ago

MaartenHilferink commented 3 months ago

zie ook #711

mogelijke oplossing: maak m_DataHolder een InterestPtr (dus niet Shared) en zorg bij destructie van ieder data item adi dat het, indien aanwezig in een FieldInfo bijbehorende de storage manager van adi, de gerelateerde m_DataHolder op wordt gezet of uit de betreffende layer-map verwijderd wordt.

Dit specificieke bijwerken ter voorkoming van dangling pointers is nogal hacky en arbitrair, schaalt niet goed; maar elegantere, meer generieke, oplossingen: SharedPtr vervangen door std::shared_ptr en std::weak_ptr hier gebruiken en/of eigendomsrelatie SubItem->Parent omdraaien, zijn vooralsnog te omvangrijk.

MaartenHilferink commented 3 months ago

intended release notes:

GDAL improvements: