From ab71902a4c2c942760770e62f8b231234a6dec9c Mon Sep 17 00:00:00 2001 From: forbes-0023 Date: Thu, 12 Feb 2026 13:40:37 -0600 Subject: [PATCH] fix(gui): forward optional visibility arg in Workbench.appendToolbar() The Python wrapper in FreeCADGuiInit.py only accepted (name, cmds) and did not forward the optional visibility parameter to the underlying C++ PythonWorkbench::appendToolbar which accepts 'sO|s'. This caused a 'takes 3 positional arguments but 4 were given' error when workbenches passed a visibility string like 'Unavailable'. --- src/Gui/FreeCADGuiInit.py | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/src/Gui/FreeCADGuiInit.py b/src/Gui/FreeCADGuiInit.py index cada5dec75..90f9edc01e 100644 --- a/src/Gui/FreeCADGuiInit.py +++ b/src/Gui/FreeCADGuiInit.py @@ -113,8 +113,11 @@ class Workbench: def ContextMenu(self, recipient): pass - def appendToolbar(self, name, cmds): - self.__Workbench__.appendToolbar(name, cmds) + def appendToolbar(self, name, cmds, visibility=None): + if visibility is not None: + self.__Workbench__.appendToolbar(name, cmds, visibility) + else: + self.__Workbench__.appendToolbar(name, cmds) def removeToolbar(self, name): self.__Workbench__.removeToolbar(name)