From 41a4d71aae0e118a2be53cc5ecc9a59cdba2de9c Mon Sep 17 00:00:00 2001 From: Markus Lampert Date: Wed, 11 Oct 2017 18:18:54 -0700 Subject: [PATCH] Only check for loop detection if PathWorkbench is active. --- src/Mod/Path/PathCommands.py | 34 ++++++++++++++++++---------------- 1 file changed, 18 insertions(+), 16 deletions(-) diff --git a/src/Mod/Path/PathCommands.py b/src/Mod/Path/PathCommands.py index 545258bc50..184344047c 100644 --- a/src/Mod/Path/PathCommands.py +++ b/src/Mod/Path/PathCommands.py @@ -60,23 +60,25 @@ class _CommandSelectLoop: 'CmdType': "ForEdit"} def IsActive(self): - if bool(FreeCADGui.Selection.getSelection()) is False: - return False - try: - sel = FreeCADGui.Selection.getSelectionEx()[0] - if sel.Object == self.obj and sel.SubElementNames == self.sub: + if 'PathWorkbench' == FreeCADGui.activeWorkbench().name(): + if bool(FreeCADGui.Selection.getSelection()) is False: + return False + try: + sel = FreeCADGui.Selection.getSelectionEx()[0] + if sel.Object == self.obj and sel.SubElementNames == self.sub: + return self.active + self.obj = sel.Object + self.sub = sel.SubElementNames + if sel.SubObjects: + self.active = self.formsPartOfALoop(sel.Object, sel.SubObjects[0], sel.SubElementNames) + else: + self.active = False return self.active - self.obj = sel.Object - self.sub = sel.SubElementNames - if sel.SubObjects: - self.active = self.formsPartOfALoop(sel.Object, sel.SubObjects[0], sel.SubElementNames) - else: - self.active = False - return self.active - except Exception as exc: - PathLog.error(exc) - traceback.print_exc(exc) - return False + except Exception as exc: + PathLog.error(exc) + traceback.print_exc(exc) + return False + return False def Activated(self): sel = FreeCADGui.Selection.getSelectionEx()[0]