Mercurial > hg > orthanc-stone
diff OrthancStone/Sources/Scene2DViewport/EditAngleMeasureTracker.cpp @ 1571:85e117739eca
cppcheck
author | Sebastien Jodogne <s.jodogne@gmail.com> |
---|---|
date | Mon, 21 Sep 2020 17:46:39 +0200 |
parents | 244ad1e4e76a |
children | 8563ea5d8ae4 |
line wrap: on
line diff
--- a/OrthancStone/Sources/Scene2DViewport/EditAngleMeasureTracker.cpp Mon Sep 21 14:50:26 2020 +0200 +++ b/OrthancStone/Sources/Scene2DViewport/EditAngleMeasureTracker.cpp Mon Sep 21 17:46:39 2020 +0200 @@ -31,12 +31,14 @@ const PointerEvent& e) : EditMeasureTracker(viewport, e) { - ScenePoint2D scenePos = e.GetMainPosition(); + ScenePoint2D scenePos; + { std::unique_ptr<IViewport::ILock> lock(viewport_->Lock()); ViewportController& controller = lock->GetController(); scenePos = e.GetMainPosition().Apply(controller.GetScene().GetCanvasToSceneTransform()); } + modifiedZone_ = dynamic_cast<AngleMeasureTool&>(*measureTool).AngleHitTest(scenePos); command_.reset(new EditAngleMeasureCommand(measureTool, viewport)); } @@ -49,8 +51,9 @@ void EditAngleMeasureTracker::PointerMove(const PointerEvent& e) { std::unique_ptr<IViewport::ILock> lock(viewport_->Lock()); + ViewportController& controller = lock->GetController(); - Scene2D& scene = controller.GetScene(); + const Scene2D& scene = controller.GetScene(); ScenePoint2D scenePos = e.GetMainPosition().Apply( scene.GetCanvasToSceneTransform());