Hi Steve,
$app->Yield does not cause 'idle time' to happen - so 'Destroyed'
objects are not cleaned up during that call. As you have seen, on
multiple calls the total number of SVs does not increase so no memeroy
leak there.
However, in constructing an example to demonstrate this I think I may
have found the cause of your issues.
Every Wx::Timer event or call to an overridden 'Notify' method leaks 1
SV. I don't have a solution but will work on it over the weekend.
Regards
Mark
On 21/05/2015 11:54, Steve Cookson wrote:
Hmm..,
On 20/05/15 17:49, Steve Cookson - gmail wrote:
If I create a few controls in a dialog, delete the dialog, use
$app->Yield for the background processing to take place, I still end
up with more Perl objects after the deletion than before.
Well actually, although the count builds up for the first two calls.
After the third call, although it says it's loosing 5 pointers per
call, it is not, because the total number of pointers remains the
same. So I suppose that is OK.
I have switched off my background processing using Wx::Timer and all
my memory creep stops. So unless you think the 5 pointers matter (and
maybe it doesn't), I'm going to switch to looking at the Wx::Timer
background code as potentially a more productive avenue.
Thanks
Steve.