
On 4/6/2011 1:53 PM, Phil Bouchard wrote:
On 4/6/2011 1:22 PM, Thomas Klimpel wrote:
If the parent is still able to do something (like incrementing a times in the child widget), then obviously references to the parent still exist. For Mark& Sweep, you are in a context where even every implicit reference is known to the garbage collector. It's clear that you can't strictly guarantee this for a C/C++ program. But in this case, the problem would be that an implicit reference went unnoticed by the Mark& Sweep garbage collector, not that it wiped an unreferenced node.
The timer was a bad example, forget about it. But in the case of the Mark & Sweep algorithm, a call to the parent window destructor will still be premature if the modal child dialog box still exists.
I think I made a mistake because Shifted Pointer will act like the Mark & Sweep and delete the unreferenced parent node. Sorry about the confusion, I'll make the modification to the presentation. -Phil