X-Git-Url: https://git.cinelerra-gg.org/git/?p=goodguy%2Fcinelerra.git;a=blobdiff_plain;f=cinelerra-5.1%2Fcinelerra%2Fedit.C;h=5321209acd68b7233a3b23d2ac1bb4da9edcadfe;hp=2c8eefcfbb0698a8b56553ed3190059cd92efac0;hb=b4184445f396e16260ed90e645a280149aeda8c0;hpb=253199c03ee8a0247e1ee7f9ba063c320f705aea diff --git a/cinelerra-5.1/cinelerra/edit.C b/cinelerra-5.1/cinelerra/edit.C index 2c8eefcf..5321209a 100644 --- a/cinelerra-5.1/cinelerra/edit.C +++ b/cinelerra-5.1/cinelerra/edit.C @@ -451,9 +451,10 @@ int Edit::shift_start(int edit_mode, int64_t newposition, int64_t oldposition, switch( edit_mode ) { case MOVE_RIPPLE: edits_moved = rest_moved = 1; - if( prev ) prev->trim(cut_length); - for( Edit *edit=this; edit; edit=edit->next ) - edit->startproject += cut_length; + startsource += cut_length; + length -= cut_length; + for( Edit *edit=next; edit; edit=edit->next ) + edit->startproject -= cut_length; break; case MOVE_ROLL: if( prev ) prev->trim(cut_length); @@ -500,6 +501,7 @@ int Edit::shift_end(int edit_mode, int64_t newposition, int64_t oldposition, switch( edit_mode ) { case MOVE_RIPPLE: + case MOVE_EDGE: rest_moved = 1; length += cut_length; for( Edit *edit=next; edit; edit=edit->next ) @@ -527,12 +529,6 @@ int Edit::shift_end(int edit_mode, int64_t newposition, int64_t oldposition, next->trim(-cut_length); } break; - case MOVE_EDGE: - edits_moved = 1; - if( prev ) prev->trim(cut_length); - startproject += cut_length; - length -= cut_length; - break; } trim(0);