Fix #119384: Outliner crash extend mode toggle on objects sharing data #119416

Closed
Philipp Oeser wants to merge 3 commits from lichtwerk/blender:119384 into main

When changing the target branch, be careful to rebase the branch in your fork to match. See documentation.

3 Commits

Author SHA1 Message Date
Philipp Oeser 5df3bf5636 use const in one more case 2024-03-13 15:06:33 +01:00
Philipp Oeser b15196b11c address review comments
- except performance concerns
- except for function (falsly) returning true -- which I cannot repro
2024-03-13 14:55:22 +01:00
Philipp Oeser d5baf518c0 Fix #119384: Outliner crash extend mode toggle on objects sharing data
buildbot/vexp-code-patch-linux-x86_64 Build done. Details
buildbot/vexp-code-patch-lint Build done. Details
buildbot/vexp-code-patch-darwin-x86_64 Build done. Details
buildbot/vexp-code-patch-darwin-arm64 Build done. Details
buildbot/vexp-code-patch-windows-amd64 Build done. Details
buildbot/vexp-code-patch-coordinator Build done. Details
This builds upon 8e060b44da

Above commit also checked shared data against the **active** object,
however objects not being active can also share data with other objects
in multi-object-editing. This is now checked, so the shared icon is used
for them as well as disabeling "extend" (same as in 8e060b44da).

Noticed other issues with this feature:
- extending should only show in the tooltip for pose and editmode
(`outliner_item_mode_toggle` ignores other modes for extending)
- removing a particular item (if it is not the active) from a mode does
not work well/at all.
- these will be addressed separately though
2024-03-13 11:52:13 +01:00