diff --git a/common/lc_mainwindow.cpp b/common/lc_mainwindow.cpp index 1ea2129d..ba225946 100644 --- a/common/lc_mainwindow.cpp +++ b/common/lc_mainwindow.cpp @@ -2870,6 +2870,10 @@ lcModelTabWidget* lcMainWindow::GetTabForView(lcView* View) const void lcMainWindow::HandleCommand(lcCommandId CommandId) { lcView* ActiveView = GetActiveView(); + + if (ActiveView && CommandId != LC_EDIT_CANCEL) + ActiveView->StopTracking(true); + lcModel* ActiveModel = ActiveView ? ActiveView->GetActiveModel() : nullptr; switch (CommandId) diff --git a/common/lc_view.h b/common/lc_view.h index 938e28c8..c8afed19 100644 --- a/common/lc_view.h +++ b/common/lc_view.h @@ -262,6 +262,7 @@ public: void UpdatePanGesture(int dx, int dy); void EndPanGesture(bool Accept); void StartOrbitTracking(); + void StopTracking(bool Accept); void CancelTrackingOrClearSelectionAction(); void SetViewpoint(lcViewpoint Viewpoint); @@ -335,7 +336,6 @@ protected: void UpdateTrackTool(); lcTrackTool GetOverrideTrackTool(Qt::MouseButton Button) const; void StartTracking(lcTrackButton TrackButton); - void StopTracking(bool Accept); void OnButtonDown(lcTrackButton TrackButton); void StartPan(int x, int y); void UpdatePan(int x, int y);