X-Git-Url: http://git.cinelerra-gg.org/git/?a=blobdiff_plain;f=cinelerra-5.1%2Fcinelerra%2Fvattachmentpoint.C;h=c9b491bbe26639fad389bc5a5e9edf13f078b9e1;hb=9a16c85641dee9f15136f40c8a3195d88d45513f;hp=0a04d1179dd3265fe730cb79207b9d3490ed9378;hpb=21c2e6b36d6a96c2f662a89459d607b5a387f4eb;p=goodguy%2Fhistory.git diff --git a/cinelerra-5.1/cinelerra/vattachmentpoint.C b/cinelerra-5.1/cinelerra/vattachmentpoint.C index 0a04d117..c9b491bb 100644 --- a/cinelerra-5.1/cinelerra/vattachmentpoint.C +++ b/cinelerra-5.1/cinelerra/vattachmentpoint.C @@ -74,12 +74,7 @@ void VAttachmentPoint::new_buffer_vector(int width, int height, int colormodel) buffer_vector = new VFrame*[virtual_plugins.total]; for(int i = 0; i < virtual_plugins.total; i++) { - buffer_vector[i] = new VFrame(0, - -1, - width, - height, - colormodel, - -1); + buffer_vector[i] = new VFrame(width, height, colormodel); } } } @@ -131,11 +126,13 @@ void VAttachmentPoint::render(VFrame *output, } //printf("VAttachmentPoint::render 3\n"); // Need to copy PBuffer if OpenGL, regardless of use_opengl - if( buffer_vector[buffer_number]->get_opengl_state() == VFrame::RAM ) { + int opengl_state = buffer_vector[buffer_number]->get_opengl_state(); + if( opengl_state == VFrame::RAM ) { output->copy_from(buffer_vector[buffer_number]); output->set_opengl_state(VFrame::RAM); } - else if(renderengine && renderengine->video) { + else if( opengl_state != VFrame::UNKNOWN && + renderengine && renderengine->video) { // Need to copy PBuffer to texture // printf("VAttachmentPoint::render temp=%p output=%p\n", // buffer_vector[buffer_number],