GPencil: Add warning to Outline modifer when no Camera

The modifier needs a scene camera to work. Now
if the camera is not defined, there is a warning.

The optimal solution would be to use the `isDisabled` callback
but the callback function hasn't the scene parameter and to pass
this parameter is necessary to change a lot of things and now
we are focus in the next version of GPencil 3.0 and this change 
not worth the work now.

The optimal solution will be implemented in the 3.0 refactor.

Related to T102375

Reviewed by: Pablo Vazquez, Matias Mendiola
This commit is contained in:
Antonio Vazquez
2022-11-10 19:59:07 +01:00
parent d3121fe4ec
commit cad11f3098

View File

@@ -287,7 +287,7 @@ static void updateDepsgraph(GpencilModifierData *md,
DEG_add_object_relation(ctx->node, ctx->object, DEG_OB_COMP_TRANSFORM, "Outline Modifier");
}
static void panel_draw(const bContext *UNUSED(C), Panel *panel)
static void panel_draw(const bContext *C, Panel *panel)
{
uiLayout *layout = panel->layout;
@@ -302,6 +302,11 @@ static void panel_draw(const bContext *UNUSED(C), Panel *panel)
uiItemR(layout, ptr, "outline_material", 0, NULL, ICON_NONE);
uiItemR(layout, ptr, "object", 0, NULL, ICON_NONE);
Scene *scene = CTX_data_scene(C);
if (scene->camera == NULL) {
uiItemL(layout, IFACE_("Outline requires an active camera"), ICON_ERROR);
}
gpencil_modifier_panel_end(layout, ptr);
}