Blender Version
Broken: version: 3.0.0, branch: master (modified), commit date: 2021-12-02 18:35, hash: rBf1cca3055776
Broken: version: 2.91.2, branch: master, commit date: 2021-01-19 16:15, hash: rB5be9ef417703
Broken (differently): 2.90.1, 2.83
Worked: 2.82
Short description of error
When clicking with RMB on some object data in outliner (can confirm for materials), parent object is selected/deselected (both in outliner and in 3D viewport). That can lead to undesired actions. For example, when click RMB on material object data from a cube and choosing Delete you'll get one of the following:
- Delete only material object data if parent object is not selected
- Delete cube object itself and material object data if parent object is selected
Mesh/ligh/camera object data also have this "parent object selection/deselection" behavior but for this object data it's not so apparent in terms of functionality since in both cases mesh/light/camera object data is deleted and object can't exist without those so it's deleted too.
Modifiers and constraints are handled consistent with context menu - deleting only modifier - although it's something to be discussed since it shows that parent object is selected.
For shortcut behavior there is already T94062.
In 2.90.1 core issue is same but behave slightly different - it'll not always change selection/deselection, can provide details if requested.
Exact steps for others to reproduce the error
For materials:
- Open attached file. You'll see two objects with same mesh object data.
- Repeatedly click with RMB on material object mata in outliner to see parent object selected/deselected.
- Choose Delete from context menu when parent object is selected - one of the objects is deleted and one material that was clicked on (you can see it on other objest mesh object data since they share it).
- Undo
- Choose Delete from context menu when parent object is not selected - only one material is deleted.
For showcasing mesh/light/camera data behavior:
- Open attached file.
- RMB on Sphere mesh object data to a point where parent object is either selected or deselected.
- Choose Delete from context menu - in both cases all objects are deleted.
