X-Git-Url: https://git.cinelerra-gg.org/git/?p=goodguy%2Fcinelerra.git;a=blobdiff_plain;f=cinelerra-5.1%2Fcinelerra%2Ftracksedit.C;h=34a6c00a713f1d91543b9895aa15ce8a114f41ec;hp=183f35f7b90f5e0dee58cc25918f914c80e6ef47;hb=78871039cd6acf5ec257bd8c8e94c83ef81dc45a;hpb=da1e39d85e138b0d552e932d875c05e8dc743244 diff --git a/cinelerra-5.1/cinelerra/tracksedit.C b/cinelerra-5.1/cinelerra/tracksedit.C index 183f35f7..34a6c00a 100644 --- a/cinelerra-5.1/cinelerra/tracksedit.C +++ b/cinelerra-5.1/cinelerra/tracksedit.C @@ -128,11 +128,20 @@ int Tracks::clear_hard_edges(double start, double end) int64_t end_units = track->to_units(end, 0); for( Edit *edit=track->edits->first; edit; edit=edit->next ) { - if( edit->startproject < start_units ) continue; - if( edit->startproject >= end_units ) continue; - edit->hard_left = 0; - if( !edit->previous ) continue; - edit->previous->hard_right = 0; + int64_t pos = edit->startproject; + if( pos > end_units ) break; + if( pos >= start_units ) { + edit->hard_left = 0; + if( edit->previous ) + edit->previous->hard_right = 0; + } + pos += edit->length; + if( pos > end_units ) break; + if( pos >= start_units ) { + edit->hard_right = 0; + if( edit->next ) + edit->next->hard_left = 0; + } } } return 0;