From 1395749dc227be29f7e21a017f7b56d52456a3c3 Mon Sep 17 00:00:00 2001 From: Markus Lampert Date: Mon, 28 Oct 2019 21:31:55 -0700 Subject: [PATCH] Delete ToolBit if ToolController is deleted --- src/Mod/Path/PathScripts/PathToolController.py | 5 +++++ src/Mod/Path/PathScripts/PathToolControllerGui.py | 1 + 2 files changed, 6 insertions(+) diff --git a/src/Mod/Path/PathScripts/PathToolController.py b/src/Mod/Path/PathScripts/PathToolController.py index 1e0b42c07b..46bb4fabfc 100644 --- a/src/Mod/Path/PathScripts/PathToolController.py +++ b/src/Mod/Path/PathScripts/PathToolController.py @@ -84,6 +84,11 @@ class ToolController: def onDocumentRestored(self, obj): obj.setEditorMode('Placement', 2) + def onDelete(self, obj, arg2=None): + if not self.usesLegacyTool(obj): + if len(obj.Tool.InList) == 1: + obj.Document.removeObject(obj.Tool.Name) + def setFromTemplate(self, obj, template): '''setFromTemplate(obj, xmlItem) ... extract properties from xmlItem and assign to receiver.''' PathLog.track(obj.Name, template) diff --git a/src/Mod/Path/PathScripts/PathToolControllerGui.py b/src/Mod/Path/PathScripts/PathToolControllerGui.py index 4b89972013..81952c8511 100644 --- a/src/Mod/Path/PathScripts/PathToolControllerGui.py +++ b/src/Mod/Path/PathScripts/PathToolControllerGui.py @@ -80,6 +80,7 @@ class ViewProvider: def onDelete(self, vobj, args=None): # pylint: disable=unused-argument PathUtil.clearExpressionEngine(vobj.Object) + self.vobj.Object.Proxy.onDelete(vobj.Object, args) return True def updateData(self, vobj, prop):