Re: Crash when dispaying document in iChat Theater
Re: Crash when dispaying document in iChat Theater
- Subject: Re: Crash when dispaying document in iChat Theater
- From: Quincey Morris <email@hidden>
- Date: Mon, 21 Apr 2008 09:52:40 -0700
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 (email@hidden)
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:
This email sent to email@hidden