Mercurial > hg > orthanc-stone
diff OrthancStone/Sources/Scene2DViewport/MeasureTrackers.cpp @ 1685:7896aac14587
Protected against usage of dying viewport
author | Benjamin Golinvaux <bgo@osimis.io> |
---|---|
date | Wed, 25 Nov 2020 12:16:53 +0100 |
parents | 646e581e115b |
children | 9ac2a65d4172 |
line wrap: on
line diff
--- a/OrthancStone/Sources/Scene2DViewport/MeasureTrackers.cpp Wed Nov 25 12:16:33 2020 +0100 +++ b/OrthancStone/Sources/Scene2DViewport/MeasureTrackers.cpp Wed Nov 25 12:16:53 2020 +0100 @@ -60,12 +60,15 @@ std::unique_ptr<IViewport::ILock> lock(GetViewportLock()); - if (commitResult_) - lock->GetController().PushCommand(command_); - else - command_->Undo(); + if(lock) + { + if (commitResult_) + lock->GetController().PushCommand(command_); + else + command_->Undo(); - lock->Invalidate(); + lock->Invalidate(); + } } EditMeasureTracker::EditMeasureTracker(boost::weak_ptr<IViewport> viewport, @@ -108,12 +111,15 @@ std::unique_ptr<IViewport::ILock> lock(GetViewportLock()); - if (commitResult_) - lock->GetController().PushCommand(command_); - else - command_->Undo(); + if(lock) + { + if (commitResult_) + lock->GetController().PushCommand(command_); + else + command_->Undo(); - lock->Invalidate(); + lock->Invalidate(); + } } }