diff options
author | Bastien Montagne <bastien@blender.org> | 2020-08-12 11:50:19 +0300 |
---|---|---|
committer | Bastien Montagne <bastien@blender.org> | 2020-08-12 12:11:48 +0300 |
commit | 4e31b5b1738cc36ee66421ecd16dc1662464ca89 (patch) | |
tree | 6a48018c7a9eb16d5c90d3bb82514f2e3ff94fc9 /source/blender/editors/object/object_gpencil_modifier.c | |
parent | b3702f5918863eb743406b4543552a1ca7f00c19 (diff) |
Fix (unreported) broken Poll function of GPencile mods and ShaderFX operators in liboverride case.
Those where assuming we always get a valid modifier data from context,
which is not always true...
Also fix similar issue with shortcuts as reported in T79635.
Diffstat (limited to 'source/blender/editors/object/object_gpencil_modifier.c')
-rw-r--r-- | source/blender/editors/object/object_gpencil_modifier.c | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/source/blender/editors/object/object_gpencil_modifier.c b/source/blender/editors/object/object_gpencil_modifier.c index 019ab2c345b..ab1de9e20ec 100644 --- a/source/blender/editors/object/object_gpencil_modifier.c +++ b/source/blender/editors/object/object_gpencil_modifier.c @@ -416,6 +416,7 @@ static int gpencil_edit_modifier_poll_generic(bContext *C, StructRNA *rna_type, { PointerRNA ptr = CTX_data_pointer_get_type(C, "modifier", rna_type); Object *ob = (ptr.owner_id) ? (Object *)ptr.owner_id : ED_object_active_context(C); + GpencilModifierData *mod = ptr.data; /* May be NULL. */ if (!ob || ID_IS_LINKED(ob)) { return 0; @@ -428,9 +429,10 @@ static int gpencil_edit_modifier_poll_generic(bContext *C, StructRNA *rna_type, } if (ID_IS_OVERRIDE_LIBRARY(ob)) { - CTX_wm_operator_poll_msg_set(C, "Cannot edit modifiers coming from library override"); - return (((GpencilModifierData *)ptr.data)->flag & - eGpencilModifierFlag_OverrideLibrary_Local) != 0; + if ((mod == NULL) || (mod->flag & eGpencilModifierFlag_OverrideLibrary_Local) == 0) { + CTX_wm_operator_poll_msg_set(C, "Cannot edit modifiers coming from library override"); + return 0; + } } return 1; |