diff options
author | Antonio Vazquez <blendergit@gmail.com> | 2022-01-17 13:52:56 +0300 |
---|---|---|
committer | Antonio Vazquez <blendergit@gmail.com> | 2022-01-17 13:52:56 +0300 |
commit | 883923173ab537fd4a154f7c0c2e13ad44c556e6 (patch) | |
tree | df1b8a20a6f8286ab341890af9df1ffd7eb5fef1 /source/blender/editors/gpencil/gpencil_asset.c | |
parent | 4fcc9b146c952bc25b7d4175f64e4772b5e6be09 (diff) |
Safe checking of pointers of material
Diffstat (limited to 'source/blender/editors/gpencil/gpencil_asset.c')
-rw-r--r-- | source/blender/editors/gpencil/gpencil_asset.c | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/source/blender/editors/gpencil/gpencil_asset.c b/source/blender/editors/gpencil/gpencil_asset.c index 2c71684dc2e..a487061937f 100644 --- a/source/blender/editors/gpencil/gpencil_asset.c +++ b/source/blender/editors/gpencil/gpencil_asset.c @@ -1032,6 +1032,10 @@ static bool gpencil_asset_append_strokes(tGPDasset *tgpa) /* Loop all strokes and duplicate. */ LISTBASE_FOREACH (bGPDstroke *, gps_asset, &gpf_asset->strokes) { + if (gps_asset->mat_nr == -1) { + continue; + } + bGPDstroke *gps_target = BKE_gpencil_stroke_duplicate(gps_asset, true, true); gps_target->next = gps_target->prev = NULL; gps_target->flag &= ~GP_STROKE_SELECT; @@ -1041,8 +1045,9 @@ static bool gpencil_asset_append_strokes(tGPDasset *tgpa) Material *ma_src = gpencil_asset_material_get_from_id(&tgpa->gpd_asset->id, gps_asset->mat_nr); - int mat_index = BKE_gpencil_object_material_index_get_by_name(tgpa->ob, - ma_src->id.name + 2); + int mat_index = (ma_src != NULL) ? BKE_gpencil_object_material_index_get_by_name( + tgpa->ob, ma_src->id.name + 2) : + -1; bool is_new_mat = false; if (mat_index == -1) { const int totcolors = tgpa->ob->totcol; |