X-Git-Url: https://git.cinelerra-gg.org/git/?a=blobdiff_plain;f=cinelerra-5.1%2Fguicast%2Fvframe.C;h=e5d3759724ab1d8c460bd65b1f4806861c17c9cf;hb=3965a828148131904d4ede4354b0942917a107b3;hp=7f57329bcce294a14265f8eb2b01222470c3c713;hpb=21b49090a36821cfe97bdfc573c7fbacc80653d1;p=goodguy%2Fhistory.git diff --git a/cinelerra-5.1/guicast/vframe.C b/cinelerra-5.1/guicast/vframe.C index 7f57329b..e5d37597 100644 --- a/cinelerra-5.1/guicast/vframe.C +++ b/cinelerra-5.1/guicast/vframe.C @@ -536,7 +536,7 @@ void VFrame::set_memory(BC_Bitmap *bitmap) { int shmid = 0; unsigned char *data = 0; - if( bitmap->is_shared() ) + if( bitmap->is_shared() && !bitmap->is_zombie() ) shmid = bitmap->get_shmid(); else data = bitmap->get_data(); @@ -1047,7 +1047,7 @@ int VFrame::copy_from(VFrame *frame) return 0; } -int VFrame::transfer_from(VFrame *that, int bg_color) +int VFrame::transfer_from(VFrame *that, int bg_color, int in_x, int in_y, int in_w, int in_h) { if( this->get_color_model() == that->get_color_model() && this->get_w() == that->get_w() && this->get_h() == that->get_h() ) @@ -1088,7 +1088,7 @@ int VFrame::transfer_from(VFrame *that, int bg_color) BC_CModels::transfer(outp, this->get_color_model(), 0, 0, this->get_w(), this->get_h(), this->get_w(), inp, that->get_color_model(), - 0, 0, that->get_w(), that->get_h(), that->get_w(), + in_x, in_y, in_w, in_h, that->get_w(), bg_color); #endif return 0;