diff --git a/FexTracker/FexTrackerRel.dll b/FexTracker/FexTrackerRel.dll index 6e9ba7390..b4e60b0eb 100644 Binary files a/FexTracker/FexTrackerRel.dll and b/FexTracker/FexTrackerRel.dll differ diff --git a/FexTracker/FexTrackerRel.lib b/FexTracker/FexTrackerRel.lib index 16572f282..583e065cd 100644 Binary files a/FexTracker/FexTrackerRel.lib and b/FexTracker/FexTrackerRel.lib differ diff --git a/FexTracker/FexTrackerRel_Opti.dll b/FexTracker/FexTrackerRel_Opti.dll index 36de0f8d2..b08b1b9a0 100644 Binary files a/FexTracker/FexTrackerRel_Opti.dll and b/FexTracker/FexTrackerRel_Opti.dll differ diff --git a/FexTracker/FexTrackerRel_Opti.lib b/FexTracker/FexTrackerRel_Opti.lib index 263b8742b..9a6ea2df9 100644 Binary files a/FexTracker/FexTrackerRel_Opti.lib and b/FexTracker/FexTrackerRel_Opti.lib differ diff --git a/core/fextracker_main_events.cpp b/core/fextracker_main_events.cpp index fea79a8ce..00f55688f 100644 --- a/core/fextracker_main_events.cpp +++ b/core/fextracker_main_events.cpp @@ -133,10 +133,6 @@ void FrameMain::OnVideoTrackMovement(wxCommandEvent &event) { if( curline->Movement ) DeleteMovement( curline->Movement ); curline->Movement = curline->Tracker->GetMovement(); - // Remove Tracker - delete curline->Tracker; - curline->Tracker = 0; - videoBox->videoDisplay->RefreshVideo(); } @@ -186,6 +182,10 @@ void FrameMain::OnVideoTrackSplitLine(wxCommandEvent &event) { DeleteMovement( curline->Movement ); curline->Movement = 0; + // Remove Tracker + delete curline->Tracker; + curline->Tracker = 0; + // Remove this line SubsBox->DeleteLines(SubsBox->GetRangeArray(EditBox->linen, EditBox->linen)); diff --git a/core/video_display.cpp b/core/video_display.cpp index 4dbcd76d0..1da48d4c2 100644 --- a/core/video_display.cpp +++ b/core/video_display.cpp @@ -293,9 +293,9 @@ void VideoDisplay::OnMouseEvent(wxMouseEvent& event) { ) { localframe = frame_n - StartFrame; - if( curline->Tracker && localframe < curline->Tracker->GetFrame() ) + if( TrackerEdit!=0 && curline->Tracker && localframe < curline->Tracker->GetFrame() ) curline->Tracker->InfluenceFeatures( localframe, float(x)/provider->GetZoom(), float(y)/provider->GetZoom(), TrackerEdit ); - else if( curline->Movement && localframe < curline->Movement->Frames.size() ) + if( MovementEdit!=0 && curline->Movement && localframe < curline->Movement->Frames.size() ) {// no /provider->GetZoom() to improve precision if( MovementEdit==1 ) { @@ -494,6 +494,7 @@ double VideoDisplay::GetARFromType(int type) { if (type == 0) return (double)provider->GetSourceWidth()/(double)provider->GetSourceHeight(); if (type == 1) return 4.0/3.0; if (type == 2) return 16.0/9.0; + return 1; //error } @@ -672,7 +673,7 @@ void VideoDisplay::DrawTrackingOverlay( wxDC &dc ) dc.DrawLine( pt.x, pt.y+1, pt.x, pt.y+3 ); } } - else if( curline->Movement ) + if( curline->Movement ) { if( curline->Movement->Frames.size() <= localframe ) return;