[PyQt] Re: Crash with shortcircuit signals

Giovanni Bajo rasky at develer.com
Wed Jul 18 18:28:03 BST 2007


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



More information about the PyQt mailing list