diff --git a/AddonManager.py b/AddonManager.py index 190691f..245d503 100644 --- a/AddonManager.py +++ b/AddonManager.py @@ -702,11 +702,12 @@ def execute_macro(self, repo: Addon) -> None: if not macro or not macro.code: return + mw = fci.FreeCADGui.getMainWindow() if macro.is_installed(): macro_path = os.path.join(fci.DataPaths().macro_dir, macro.filename) fci.FreeCADGui.open(str(macro_path)) self.dialog.hide() - fci.FreeCADGui.SendMsgToActiveView("Run") + mw.getActiveWindow().sendMessage("Run") else: with tempfile.TemporaryDirectory() as temp_dir: temp_install_succeeded = macro.install(temp_dir) @@ -718,7 +719,7 @@ def execute_macro(self, repo: Addon) -> None: macro_path = os.path.join(temp_dir, macro.filename) fci.FreeCADGui.open(str(macro_path)) self.dialog.hide() - fci.FreeCADGui.SendMsgToActiveView("Run") + mw.getActiveWindow().sendMessage("Run") def remove(self, addon: Addon) -> None: """Remove this addon."""