fixup vwindow running status checks
[goodguy/history.git] / cinelerra-5.1 / cinelerra / trackscroll.C
index a28906afeb8e6c914ad2d0ef7dc6db072f3a3f08..4d5a4313426659e6d581541c1593e498e36aec24 100644 (file)
@@ -110,6 +110,18 @@ int TrackScroll::flip_vertical(int top, int bottom)
 
 void TrackScroll::set_position()
 {
+       int64_t max_pos = mwindow->edl->get_tracks_height(mwindow->theme) - pane->view_h;
+       if( max_pos < 0 ) max_pos = 0;
+       if( mwindow->edl->local_session->track_start[pane->number] > max_pos )
+               mwindow->edl->local_session->track_start[pane->number] = max_pos;
+       if( pane->number == TOP_RIGHT_PANE ) {
+               if( mwindow->edl->local_session->track_start[TOP_LEFT_PANE] > max_pos )
+                       mwindow->edl->local_session->track_start[TOP_LEFT_PANE] = max_pos;
+       }
+       else if( pane->number == BOTTOM_RIGHT_PANE ) {
+               if( mwindow->edl->local_session->track_start[BOTTOM_LEFT_PANE] > max_pos )
+                       mwindow->edl->local_session->track_start[BOTTOM_LEFT_PANE] = max_pos;
+       }
        update_length(
                mwindow->edl->get_tracks_height(mwindow->theme),
                mwindow->edl->local_session->track_start[pane->number],