Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAntonio Vazquez <blendergit@gmail.com>2022-01-17 13:52:56 +0300
committerAntonio Vazquez <blendergit@gmail.com>2022-01-17 13:52:56 +0300
commit883923173ab537fd4a154f7c0c2e13ad44c556e6 (patch)
treedf1b8a20a6f8286ab341890af9df1ffd7eb5fef1 /source/blender/editors/gpencil/gpencil_asset.c
parent4fcc9b146c952bc25b7d4175f64e4772b5e6be09 (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.c9
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;