diff Framework/Scene2DViewport/MeasureTool.cpp @ 1020:ac88989817e3 toa2019093001

TrackerCommand --> MeasureCommand + fuse against exception in MeasureTool dtor + added DeleteMeasureCommand + moved the various concrete measuring tool-related classes to their pre-assigned file locations (everything was crammed into MeasureCommands.* files up to this commit) + added double-click handler to GuiAdapter (for TOA implementation of "delete measuring tool on double-click")
author Benjamin Golinvaux <bgo@osimis.io>
date Mon, 30 Sep 2019 10:41:06 +0200
parents 262a0244e9b2
children e713f1a99861 2d8ab34c8c91
line wrap: on
line diff
--- a/Framework/Scene2DViewport/MeasureTool.cpp	Fri Sep 27 13:32:05 2019 +0200
+++ b/Framework/Scene2DViewport/MeasureTool.cpp	Mon Sep 30 10:41:06 2019 +0200
@@ -30,7 +30,10 @@
 {
   MeasureTool::~MeasureTool()
   {
-    GetController()->Unregister(this);
+    // if the controller is dead, let's not bother.
+    boost::shared_ptr<ViewportController> controller = controllerW_.lock();
+    if (controller)
+      controller->Unregister(this);
   }
 
   void MeasureTool::Enable()