[Bf-blender-cvs] [705c2e81db8] soc-2020-greasepencil-curve: GPencil: Fix duplicate code
Falk David
noreply at git.blender.org
Wed Jun 3 17:22:57 CEST 2020
Commit: 705c2e81db88ce26d8edb60638a402529a8c0f54
Author: Falk David
Date: Wed Jun 3 17:19:10 2020 +0200
Branches: soc-2020-greasepencil-curve
https://developer.blender.org/rB705c2e81db88ce26d8edb60638a402529a8c0f54
GPencil: Fix duplicate code
===================================================================
M source/blender/blenkernel/BKE_gpencil.h
M source/blender/blenkernel/intern/gpencil.c
===================================================================
diff --git a/source/blender/blenkernel/BKE_gpencil.h b/source/blender/blenkernel/BKE_gpencil.h
index 6a33e52a687..688739ea6aa 100644
--- a/source/blender/blenkernel/BKE_gpencil.h
+++ b/source/blender/blenkernel/BKE_gpencil.h
@@ -89,7 +89,7 @@ struct bGPdata;
void BKE_gpencil_free_point_weights(struct MDeformVert *dvert);
void BKE_gpencil_free_stroke_weights(struct bGPDstroke *gps);
-void BKE_gpencil_free_editcurve(struct bGPDcurve *editcurve);
+void BKE_gpencil_free_stroke_editcurve(struct bGPDstroke *gps);
void BKE_gpencil_free_stroke(struct bGPDstroke *gps);
bool BKE_gpencil_free_strokes(struct bGPDframe *gpf);
void BKE_gpencil_free_frames(struct bGPDlayer *gpl);
diff --git a/source/blender/blenkernel/intern/gpencil.c b/source/blender/blenkernel/intern/gpencil.c
index 05fa92b840f..19c4eac01bf 100644
--- a/source/blender/blenkernel/intern/gpencil.c
+++ b/source/blender/blenkernel/intern/gpencil.c
@@ -177,8 +177,12 @@ void BKE_gpencil_free_stroke_weights(bGPDstroke *gps)
}
}
-void BKE_gpencil_free_editcurve(bGPDcurve *editcurve)
+void BKE_gpencil_free_stroke_editcurve(bGPDstroke *gps)
{
+ if (gps == NULL) {
+ return;
+ }
+ bGPDcurve *editcurve = gps->editcurve;
if (editcurve == NULL) {
return;
}
@@ -204,8 +208,8 @@ void BKE_gpencil_free_stroke(bGPDstroke *gps)
if (gps->triangles) {
MEM_freeN(gps->triangles);
}
- if (gps->editcurve) {
- BKE_gpencil_free_editcurve(gps->editcurve);
+ if (gps->editcurve != NULL) {
+ BKE_gpencil_free_stroke_editcurve(gps);
}
MEM_freeN(gps);
@@ -582,6 +586,8 @@ bGPDstroke *BKE_gpencil_stroke_new(int mat_idx, int totpoints, short thickness)
gps->mat_nr = mat_idx;
+ gps->editcurve = NULL;
+
return gps;
}
@@ -661,14 +667,15 @@ bGPDstroke *BKE_gpencil_stroke_duplicate(bGPDstroke *gps_src, const bool dup_poi
gps_dst->dvert = MEM_dupallocN(gps_src->dvert);
BKE_gpencil_stroke_weights_duplicate(gps_src, gps_dst);
}
- if (gps_src->editcurve != NULL) {
- gps_dst->editcurve = BKE_gpencil_stroke_curve_duplicate(gps_src->editcurve);
- }
else {
gps_dst->dvert = NULL;
}
}
+ if (gps_src->editcurve != NULL) {
+ gps_dst->editcurve = BKE_gpencil_stroke_curve_duplicate(gps_src->editcurve);
+ }
+
/* return new stroke */
return gps_dst;
}
More information about the Bf-blender-cvs
mailing list