On 7/18/2007 10:32 AM, Giovanni Bajo wrote:

I copied the list removal code back into the destructor (keeping a duped
copy in the disable() slot), and it seems to work.

Do you agree on this fix? Testcases are really hard and tiresome to
extract so I'd rather avoid it if it's not really really necessary...

I can only see one place that a PyQtProxy is explicitly deleted. Can you try changing the "delete up" in sipQtDestroyUniversalSlot() to "up->disable()" instead of your fix.

It worked. One nit: disable() was a private member, so I changed it to public.

Too fast: I was getting again an infinite loop... and the fix I found was to NULLify the nextup and prevup pointers in the disable() method, after removing the PyQtProxy from the global list.

Does it make any sense to you?
--
Giovanni Bajo

_______________________________________________
PyQt mailing list    [email protected]
http://www.riverbankcomputing.com/mailman/listinfo/pyqt

Reply via email to