¿Por qué mi EAGLVIew ya no se procesa en iOS 4.2?

Actualizando al SDK 4.2 de iOS Estoy experimentando varios comportamientos erróneos en mi aplicación (se le pregunta a otroaquí) El que pediré su ayuda se refiere a una vista OpenGL (una subclase EAGLView) que ya no representa el modelo 3D que estoy colocando.

La vista está asignada y parece reconocer los gestos pero su contenido no esvisible (He comprobado que se trata de la vista y no de lafuera de lugar del modelo coloreando el fondo: no lo coloreaglClearColor())

Cuando lo toco dos veces, cambiará de tamaño (pasa a pantalla completa, antes de esto es un poco UIVIew) llamando a este método:

- (void)animateToGrow{
    DNSLog(@"grow");
    grow = YES;
    oldFrame = self.frame;
    oldCenter = self.center;

    [UIView beginAnimations:@"MoveAndStrech" context:nil];
    [UIView setAnimationDuration:0.5];
    [UIView setAnimationBeginsFromCurrentState:YES];

    self.frame = CGRectMake(0, 0, WIDTH, HEIGHT); 
    self.center = CGPointMake(CENTER_X, CENTER_Y);
    [UIView commitAnimations];
    [self setupGLPerspectiveNear:0.1 far:1000];
}

y mágicamenteaparece el modelo, e incluso el fondo se colorea.

Tengo un método que lo redimensiona y lo hace volver a su posición anterior de cuadro y centro y cuando se llama la vista se vuelve'vacío' de nuevo.

Antes de cualquier sugerencia? (Puedo publicar más código si es necesario)

ACTUALIZAR Esto está sucediendo en el simulador (no se puede probar en un dispositivo en este momento). Si se trata de un error reconocido, ¿alguien tiene una referencia de los documentos de Apple?

ACTUALIZACIÓN 2 Estoy usando OpenGL ES 1.1 y no 2.0.

Esto es lo que hago en EAGLView'slayoutSubViews :

- (void)layoutSubviews 
{
    [EAGLContext setCurrentContext:_context];
    [self destroyFramebuffer];
    [self createFramebuffer];
    [self drawView];
}

Y este es micreateFramebuffer

- (BOOL)createFramebuffer
{
    glGenFramebuffersOES(1, &_viewFramebuffer);
    glGenRenderbuffersOES(1, &_viewRenderbuffer);

    glBindFramebufferOES(GL_FRAMEBUFFER_OES, _viewFramebuffer);
    glBindRenderbufferOES(GL_RENDERBUFFER_OES, _viewRenderbuffer);
    [_context renderbufferStorage:GL_RENDERBUFFER_OES fromDrawable:(CAEAGLLayer*)self.layer];
    glFramebufferRenderbufferOES(GL_FRAMEBUFFER_OES, GL_COLOR_ATTACHMENT0_OES, GL_RENDERBUFFER_OES, _viewRenderbuffer);

    glGetRenderbufferParameterivOES(GL_RENDERBUFFER_OES, GL_RENDERBUFFER_WIDTH_OES, &_backingWidth);
    glGetRenderbufferParameterivOES(GL_RENDERBUFFER_OES, GL_RENDERBUFFER_HEIGHT_OES, &_backingHeight);

    if (_useDepthBuffer) 
    {
        glGenRenderbuffersOES(1, &_depthRenderbuffer);
        glBindRenderbufferOES(GL_RENDERBUFFER_OES, _depthRenderbuffer);
        glRenderbufferStorageOES(GL_RENDERBUFFER_OES, GL_DEPTH_COMPONENT16_OES, _backingWidth, _backingHeight);
        glFramebufferRenderbufferOES(GL_FRAMEBUFFER_OES, GL_DEPTH_ATTACHMENT_OES, GL_RENDERBUFFER_OES, _depthRenderbuffer);
    }

    if(glCheckFramebufferStatusOES(GL_FRAMEBUFFER_OES) != GL_FRAMEBUFFER_COMPLETE_OES) 
    {
        NSLog(@"failed to make complete framebuffer object %x", glCheckFramebufferStatusOES(GL_FRAMEBUFFER_OES));
        return NO;
    }

    return YES;
}

ACTUALIZACIÓN 3

Si creo la vista dándole el marco de pantalla completa (320x480), aparece renderizada correctamente. De alguna manera está relacionado con las dimensiones de la vista

Respuestas a la pregunta(3)

Su respuesta a la pregunta