Skip to content

DerivationFrameworkCore: Add an algorithm to explicitly lock a decoration.

In derivation, we have cases where the same decoration is written by several different algorithms (for example, TruthDressingTool). In such cases, we cannot lock the decoration at the end of the algorithm, as is usually done, since this would cause subsequent algorithms to fail. However, we also don't want to leave the decoration unlocked, as the fix for ATLASRECTS-8008 would cause those decorations to be lost in a deep copy. Instead, in those cases, we can use this algorithm to explicitly lock the decoration after all algorithms that modify it have completed.

These configurations were previously working due to a bug in WritDecorHandle, where it would fail to lock a decoration if isAvailable() had been called. Fixing that bug necessitates this change.

Note, though, that such configurations are likely not compatible with MT.

In support of !73627 / ATLASRECTS-8008.

Merge request reports