From 21e7fa1e8b138e7661d49ca4a4010caf0ceb24ae Mon Sep 17 00:00:00 2001 From: Roy-043 <70520633+Roy-043@users.noreply.github.com> Date: Thu, 1 Jan 2026 14:01:34 +0100 Subject: [PATCH] Draft: fix regression in Pattern display (add find_coin_node_by_name function) Adapted existing code attribution and added a new function to find a node by name. --- src/Mod/Draft/draftutils/gui_utils.py | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/src/Mod/Draft/draftutils/gui_utils.py b/src/Mod/Draft/draftutils/gui_utils.py index d0010e3132..c4255a2911 100644 --- a/src/Mod/Draft/draftutils/gui_utils.py +++ b/src/Mod/Draft/draftutils/gui_utils.py @@ -939,14 +939,25 @@ def get_bbox(obj, debug=False): return App.BoundBox(xmin, ymin, zmin, xmax, ymax, zmax) -# Code by Yorik van Havre. +# Code by Yorik van Havre (adapted). def find_coin_node(parent, nodetype): + if not hasattr(parent, "getNumChildren"): + return None for i in range(parent.getNumChildren()): if isinstance(parent.getChild(i), nodetype): return parent.getChild(i) return None +def find_coin_node_by_name(parent, name): + if not hasattr(parent, "getNumChildren"): + return None + for i in range(parent.getNumChildren()): + if parent.getChild(i).getName() == name: + return parent.getChild(i) + return None + + # Code by Chris Hennes (chennes). # See https://forum.freecad.org/viewtopic.php?p=656362#p656362. # Used to fix https://github.com/FreeCAD/FreeCAD/issues/10469.