Anim: avoid logged warnings when visiting layered Action in NLA evaluation
Avoid logging actions about `action->idroot` not matching, when evaluating the NLA and visiting a layered Action. Layered Actions are not limited to a single data-block type, and so the code should ignore `action->idroot`.
This commit is contained in:
parent
aa0e5368e7
commit
4c0a77ee8f
@ -818,6 +818,10 @@ if(WITH_TBB)
|
||||
)
|
||||
endif()
|
||||
|
||||
if(WITH_EXPERIMENTAL_FEATURES)
|
||||
add_definitions(-DWITH_ANIM_BAKLAVA)
|
||||
endif()
|
||||
|
||||
# # Warnings as errors, this is too strict!
|
||||
# if(MSVC)
|
||||
# string(APPEND CMAKE_C_FLAGS " /WX")
|
||||
|
@ -800,6 +800,17 @@ static void action_idcode_patch_check(ID *id, bAction *act)
|
||||
return;
|
||||
}
|
||||
|
||||
#ifdef WITH_ANIM_BAKLAVA
|
||||
if (act->wrap().is_action_layered()) {
|
||||
/* Layered Actions can always be assigned to any ID. It's actually the Binding that is limited
|
||||
* to an ID type (similar to legacy Actions). Layered Actions are evaluated differently,
|
||||
* though, and their evaluation shouldn't end up here. At the moment of writing it can still
|
||||
* happen through NLA evaluation, though, so there's no assert here to prevent this. */
|
||||
/* TODO: when possible, add a BLI_assert_unreachable() here. */
|
||||
return;
|
||||
}
|
||||
#endif
|
||||
|
||||
idcode = GS(id->name);
|
||||
|
||||
/* the actual checks... hopefully not too much of a performance hit in the long run... */
|
||||
|
Loading…
Reference in New Issue
Block a user