On 3 Jan 2008, at 10:57 PM, Adam R. Maxwell wrote:

>
> On Thursday, January 03, 2008, at 01:39PM, "Christiaan Hofman"  
> <[EMAIL PROTECTED]> wrote:
>>
>> On 3 Jan 2008, at 10:27 PM, Adam R. Maxwell wrote:
>>
>>>
>>> On Thursday, January 03, 2008, at 12:25PM, "Christiaan Hofman"
>>> <[EMAIL PROTECTED]> wrote:
>>>>
>>>> On 3 Jan 2008, at 8:55 PM, Adam R. Maxwell wrote:
>>>>
>>>>> Okay, that's right.   There's still a retain cycle in the  
>>>>> migration
>>>>> controller that should be unnecessary.  When the document window
>>>>> closes, it closes the migration window regardless of what it's
>>>>> doing at the time.
>>>>>
>>>>
>>>> Why is there a retain cycle? And shouldn't the migration be stopped
>>>> when the document window closes?
>>>
>>> Yes, it should be stopped, but can the document window actually
>>> close before this stops?  I can't make it do that.
>>>
>>> If I brute-force a document close like this
>>>
>>>         if (current > 200) {
>>>             [[self document] close];
>>>             NSLog(@"closed document %@", [self document]);
>>>         }
>>>
>>> in the loop, the document clears the window controller's
>>> backreference.  Since the enumerator retains the publications
>>> array, it just exhausts the loop and then sends [nil
>>> updatePreviews].  It's not a big deal, but it's nice to avoid extra
>>> bookkeeping if the kit already takes care of it.
>>
>> But if the migration window closes the document will also be cleared,
>> but then it should still send updatePreviews when it finishes. That's
>> why the document should be retained. So this is not a good example.
>
>>>>>>>> +    // keep a reference to the document, because it may go  
>>>>>>>> away
>>>>>>>> when the window closes while we're busy
>
> So the comment refers to closing the migration window?  I'm not  
> able to close that before the loop finishes, either.  If this were  
> possible, though, shouldn't it send -stop when the migration window  
> closes?  This isn't working in a separate thread, so I don't see  
> why anything, let alone the document, needs to stop it.

It may be hard, but as the main thread is run it's not impossible.  
I'm not sure if it should be stopped when the window closes, without  
any warning. Though I don't trust it when it would go on modifying  
the items after the document window closes.

Christiaan




-------------------------------------------------------------------------
This SF.net email is sponsored by: Microsoft
Defy all challenges. Microsoft(R) Visual Studio 2005.
http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/
_______________________________________________
Bibdesk-develop mailing list
Bibdesk-develop@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/bibdesk-develop

Reply via email to