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