diff options
author | Bastien Montagne <bastien@blender.org> | 2020-12-07 18:52:45 +0300 |
---|---|---|
committer | Bastien Montagne <bastien@blender.org> | 2020-12-07 18:55:51 +0300 |
commit | bab57550b69b8429bb2f081fbc75f1d1ca035a34 (patch) | |
tree | 2a92f1ea9a693b32bc22dea73d1dfe7bdfb4506b /source/blender/editors/object/object_modifier.c | |
parent | 513578b182fd0c427b9da653b715f8bfb16faec1 (diff) |
LibOverride: Abstract a bit handling of local items of RNA collections.
RNA collections that support insertion of new items in liboverride
data-block need a special way to distiguish between locale and
orig-from-linked items (since some operations are allowed on the forer,
but no the latter).
In future we want a proper solution to abstract that at the
`BKE_lib_override` level, but for now we need to add some code for each
case.
Note that this commit also fixes a few potential issues with GPencil
modifiers, and constraints, regarding their handling of local overrides.
Diffstat (limited to 'source/blender/editors/object/object_modifier.c')
-rw-r--r-- | source/blender/editors/object/object_modifier.c | 8 |
1 files changed, 3 insertions, 5 deletions
diff --git a/source/blender/editors/object/object_modifier.c b/source/blender/editors/object/object_modifier.c index 7d12fa1805b..bb4581b0ee8 100644 --- a/source/blender/editors/object/object_modifier.c +++ b/source/blender/editors/object/object_modifier.c @@ -1052,11 +1052,9 @@ bool edit_modifier_poll_generic(bContext *C, return false; } - if (ID_IS_OVERRIDE_LIBRARY(ob) && !is_liboverride_allowed) { - if ((mod == NULL) || (mod->flag & eModifierFlag_OverrideLibrary_Local) == 0) { - CTX_wm_operator_poll_msg_set(C, "Cannot edit modifiers coming from library override"); - return false; - } + if (!is_liboverride_allowed && !BKE_modifier_is_local_in_liboverride(ob, mod)) { + CTX_wm_operator_poll_msg_set(C, "Cannot edit modifiers coming from library override"); + return false; } if (!is_editmode_allowed && CTX_data_edit_object(C) != NULL) { |