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:
parent
d3121fe4ec
commit
cad11f3098
Notes:
blender-bot
2023-02-13 23:17:13 +01:00
Referenced by issue #102375, Grease Pencil Outline Modifier not showing with duplicated camera in outliner
|
@ -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);
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue