From 0f2bdf280f66b431250a256dd8ed5de0759bb7b0 Mon Sep 17 00:00:00 2001 From: Roy-043 <70520633+Roy-043@users.noreply.github.com> Date: Thu, 29 Jan 2026 15:38:55 +0100 Subject: [PATCH] Draft: fix autogroup behavior if active group is a layer (#27102) --- src/Mod/Draft/draftutils/gui_utils.py | 17 +++++++++++++---- 1 file changed, 13 insertions(+), 4 deletions(-) diff --git a/src/Mod/Draft/draftutils/gui_utils.py b/src/Mod/Draft/draftutils/gui_utils.py index c4255a2911..02aeac5cd3 100644 --- a/src/Mod/Draft/draftutils/gui_utils.py +++ b/src/Mod/Draft/draftutils/gui_utils.py @@ -128,13 +128,22 @@ def autogroup(obj): if active_group is None: # Layer/group does not exist (anymore) Gui.draftToolBar.setAutoGroup() # Change active layer/group in Tray to None. + elif utils.get_type(active_group) == "Layer": + if not obj in active_group.Group: + active_group.Group += [obj] + # No return statement here as objects can be in a layer and in + # a normal group or group-like BIM object at the same time. + elif obj in active_group.InListRecursive: return - if obj in active_group.InListRecursive: + else: + if not obj in active_group.Group: + if hasattr(active_group, "addObject"): + active_group.addObject(obj) + else: + active_group.Group += [obj] return - if not obj in active_group.Group: - active_group.Group += [obj] - elif Gui.ActiveDocument.ActiveView.getActiveObject("NativeIFC") is not None: + if Gui.ActiveDocument.ActiveView.getActiveObject("NativeIFC") is not None: # NativeIFC handling try: from nativeifc import ifc_tools