mirror of
https://github.com/IfcOpenShell/IfcOpenShell.git
synced 2026-08-10 09:48:32 +00:00
7e79f9911d
Selecting a non-wall pair (e.g. a column and a slab) and pressing Shift+E surfaced a developer Python traceback. Hotkey.hotkey_S_E's catch-all else branch unconditionally called bpy.ops.bim.extend_walls_to_underside(); when the selection contains no path-connectable wall, that nested operator reports an ERROR and returns CANCELLED, which - invoked via bpy.ops from inside the outer operator - raises RuntimeError as an unhandled exception, so the user saw a full traceback. Guard the selection with the operator's own predicate (tool.Parametric.is_path_connectable_wall): dispatch to extend_walls_to_underside only when at least one wall and one other element are selected, otherwise report a clean end-user error. Mirrors the pattern already used by hotkey_S_X (align). The valid wall + target path is unchanged. This hardens the reported crash. It does not implement extending a column to a slab underside, which is a separate feature request in the same issue. Verified live in headless Blender: a column + slab selection produced the reported traceback before and now yields a single clean error message with no workspace.py / extend_walls_to_underside frames. Generated with the assistance of an AI coding tool. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>