[lazarus] win32 interface: CheckListBox memleak.
Vincent Snijders
vslist at zonnet.nl
Fri Dec 19 11:03:08 EST 2003
Hi,
I investigated why sometimes the ItemRecords of a checklistbox aren't
freeed. What happens is, that the LCL sends a LM_DESTROY message to the
interface for the checklistbox. The interface removes the Lazarus
property from the checklistbox window. Therefore when the windows is
destroyed and the WM_DESTROY message is received, the owner object is
nil and we don't know what (type) the original lcl object was.
I propose that we remove the line (around line 583 of win32object.inc)
RemoveProp(Handle, 'Lazarus');
Then when the WM_DESTROY message is received in the windows procedure,
there is still a owner object.
The Lazarus property will be removed by the enumprops call later in the
WM_DESTROY handling code.
Regards,
Vincent.
More information about the Lazarus
mailing list