Je procède à l'ouverture d'un NSOpenPanel tout simple dans mon appli, avec comme filetypes des extensions de fichiers audio (m4a, mp3 etc).
Tout se passe bien sauf que Leopard me propose (dans l'explorateur) un raccourci vers ma musique iTunes (sur la gauche de la fenêtre) et quand je clique dessus, ça plante bêtement (return code 11, SIGSEGV). Je peux me promener dans mon système de fichier peinard, c'est juste quand je clique là que ça me pète à la gueule.
Si je désactive le garbage collectore ça refonctionne, mais j'ai pas envie de retourner écrire tous les release manquants si vous voyez ce que je veux dire. Une idée du problème ?
Voilà le message d'erreur de la console:
Et voici le code de ma méthode:
Quelqu'un saurait-il m'expliquer ce qui fait faire "pshit" au Garbage Collector ?
Merci,
Aurélien
Tout se passe bien sauf que Leopard me propose (dans l'explorateur) un raccourci vers ma musique iTunes (sur la gauche de la fenêtre) et quand je clique dessus, ça plante bêtement (return code 11, SIGSEGV). Je peux me promener dans mon système de fichier peinard, c'est juste quand je clique là que ça me pète à la gueule.
Si je désactive le garbage collectore ça refonctionne, mais j'ai pas envie de retourner écrire tous les release manquants si vous voyez ce que je veux dire. Une idée du problème ?
Voilà le message d'erreur de la console:
Bloc de code:
[Session started at 2008-04-08 09:09:22 +0100.]
osxConvertAudio(1600,0xb0103000) malloc: free_garbage: garbage ptr = 0x1011b40, has non-zero refcount = 1
osxConvertAudio(1600,0xb0103000) malloc: free_garbage: garbage ptr = 0x101e450, has non-zero refcount = 1
osxConvertAudio(1600,0xb0103000) malloc: free_garbage: garbage ptr = 0x10312d0, has non-zero refcount = 1
osxConvertAudio(1600,0xb0103000) malloc: free_garbage: garbage ptr = 0x101dbb0, has non-zero refcount = 1
The Debugger has exited due to signal 11 (SIGSEGV).The Debugger has exited due to signal 11 (SIGSEGV).
Et voici le code de ma méthode:
Bloc de code:
- (IBAction)addFile:(id)sender
{
NSArray *types = [NSArray arrayWithObjects:@"wav",
@"m4a",
@"mp3",
@"aif",
nil];
NSOpenPanel *openPanel = [NSOpenPanel openPanel];
[openPanel beginSheetForDirectory:nil
file:nil
types:types
modalForWindow:self.window
modalDelegate:self
didEndSelector:@selector(openPanelDidEnd:
returnCode:
contextInfo:)
contextInfo:nil];
}
- (void)openPanelDidEnd:(NSOpenPanel *)openPanel
returnCode:(int)returnCode
contextInfo:(void *)x
{
if(returnCode == NSOKButton) {
NSMutableDictionary *fileURL = [[NSMutableDictionary alloc] init];
[fileURL setValue:[openPanel filename] forKey:@"URL"];
[arrayController addObject:fileURL];
}
}
Quelqu'un saurait-il m'expliquer ce qui fait faire "pshit" au Garbage Collector ?
Merci,
Aurélien