Page MenuHome

Fix undefined behavior in dependency graph tagging
ClosedPublic

Authored by Sergey Sharybin (sergey) on Aug 2 2022, 11:50 AM.

Details

Summary

The tagging code was iterating over bits set in the ID_RECALC_ALL and
was casting the flag to IDRecalcFlag. This was triggering an undefined
behavior warning in Clang since the bit might not have a corresponding
value in the enumerator.

The solution is to pre-define all reacalc flags for all bits. While
this seems a bit annoying this seems to be the least fragile solution
from all suggested ones.

Diff Detail

Repository
rB Blender