On Apr 21, 2008, at 05:18, Antonio Nunes wrote:

I'm trying to implement iChat Theater capability into my garbage collected app, and it looks to be almost working, except for a rather all important crash. When my app is notified that it should start sending video it executes the following code:

        IMAVManager *manager = [IMAVManager sharedAVManager];
        MyDocument *d;
        
        switch ([manager state])
        {
                case IMAVRequested:
d = [[NSDocumentController sharedDocumentController] documentForURL:[manager URLToShare]];
                        if (d == nil) {
d = [[NSDocumentController sharedDocumentController] openDocumentWithContentsOfURL:[manager URLToShare] display:YES];
                        }
                        [manager setVideoDataSource:d.someView];
                        [manager start];
                        break;
        }

someView has subviews, including a PDFView subclass. I have tried setting the data source to the PDFView and to the PDFView's documentView, but the result is always the same.

If d is a local variable, as this code fragment seems to say, what's keeping it (and therefore d.someView) from getting garbage collected as soon as it goes out of scope? 'setVideoDataSource' is documented to *not* retain the view (in non-GC), and I would take such a statement to mean that it does not hold a keep-alive reference to the object (in GC) either.
_______________________________________________

Cocoa-dev mailing list (Cocoa-dev@lists.apple.com)

Please do not post admin requests or moderator comments to the list.
Contact the moderators at cocoa-dev-admins(at)lists.apple.com

Help/Unsubscribe/Update your Subscription:
http://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com

This email sent to [EMAIL PROTECTED]

Reply via email to