NSPopover Crash

Hello,


I am new to Mac development.I am showing a Nspopover when doubleclick on tableview cell.

But some time its crashing and showing this crash report.

[NSPopover showRelativeToRect:ofView:preferredEdge:]: view has no window. You must supply a view in a window.

Below is my code.


-(void)showTaskNotes:(id)sender/

{

if(filterController != nil)/

{

[filterController close];

self.filterController = nil;

}

id taskSelected_ = [self getTaskdetails:(int)[sender tag]];

self.selectedIndexPath = [NSIndexPath indexPathWithIndex:[self.projectDetails indexOfObject:taskSelected_]];

if(notesViewRef != nil)

notesViewRef = nil;

notesViewRef = [[NotesView alloc]initWithSelectedTask:taskSelected_ andProjectDetailsRef:self];

[controller performClose:nil];

NSViewController *viewController = [[NSViewController alloc]initWithNibName:nil bundle:nil];

[notesViewRef showNotes];

viewController.view = notesViewRef.view;

filterController = [[NSPopover alloc] init];

filterController.delegate=self;/

filterController.behavior = NSPopoverBehaviorSemitransient;/

[filterController setContentSize:viewController.view.frame.size];

[filterController setContentViewController:viewController];

[filterController setAnimates:NO];

[filterController showRelativeToRect:[sender bounds] ofView:sender preferredEdge:NSMaxXEdge];


}

Please tell me where I am doing wrong.

Why the [sender superview]window] is NULL sometime.


Please help me

Try inserting the following code right before you show the popover:

if ([(NSView *)sender superview] == nil ) {
     NSLog(@"Superview is nil");
}

Then drop a breakpoint on the NSLog call. This will detect the error condition before the problem actually surfaces and stop in the debugger so you can look for anything fishy in the UI inspector, etc.

NSPopover Crash
 
 
Q