Ошибка обработчика завершения GLKTextureLoader EXEC_BAD_ACCESS - PullRequest
3 голосов
/ 21 февраля 2012

Я могу загрузить текстуру, используя GLKTextureLoader, однако, когда я пытаюсь сделать это в отдельном потоке, я получаю проблему EXEC_BAD_ACCESS.

рабочий код.

NSError *error;
GLuint textureName = self.textureImageInfo.name;
glDeleteTextures(GL_TEXTURE_2D, &textureName);
self.textureImageInfo = 
[GLKTextureLoader textureWithCGImage:imageRef options:nil error:&error];
if( error )
{
    NSLog(@"Image loading error. %@", error );
}

Код ошибки.

self.textureLoader = 
[[GLKTextureLoader alloc] initWithSharegroup:_context.sharegroup];
[self.textureLoader textureWithCGImage:imageRef options:nil queue:dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_HIGH, 0) completionHandler:^( GLKTextureInfo *textureInfo, NSError *error)
 {
     if( error )
     {
         NSLog(@"Image loading error. %@", error );
         return;
     }
 }];

Дополнительная информация. В потоке, где выполняется завершение, находится блок EXEC_BAD_ACCESS со следующим enter image description here

Кому-нибудь удалось заставить это работать?

...