From a2bf25e8ff7172643fa156cb12d42582595ecd7d Mon Sep 17 00:00:00 2001 From: Sergey Sharybin Date: Sun, 5 Jan 2014 17:04:52 +0600 Subject: Fix crash when having multiple text objects sharing the same curve datablock Issue was caused by BKE_vfont_to_curve() modifying curve->nurbs list which gave threading issues. Now added BKE_vfont_to_curve_nubase() which operates on a given nurbs list base which is local in do_makeDispListCurveTypes(). By the looks of it it wouldn't give speed regression because previously it also was creating nurbs for every font object sharing the same curve data. --- source/blender/blenkernel/BKE_font.h | 3 +++ 1 file changed, 3 insertions(+) (limited to 'source/blender/blenkernel/BKE_font.h') diff --git a/source/blender/blenkernel/BKE_font.h b/source/blender/blenkernel/BKE_font.h index 85aaafda39f..199b19402aa 100644 --- a/source/blender/blenkernel/BKE_font.h +++ b/source/blender/blenkernel/BKE_font.h @@ -83,6 +83,9 @@ void BKE_vfont_free(struct VFont *sc); struct VFont *BKE_vfont_builtin_get(void); struct VFont *BKE_vfont_load(struct Main *bmain, const char *name); +bool BKE_vfont_to_curve_nubase(struct Main *bmain, struct Scene *scene, struct Object *ob, + struct ListBase *nubase, int mode, struct CharTrans **r_chartransdata); + bool BKE_vfont_to_curve(struct Main *bmain, struct Scene *scene, struct Object *ob, int mode, struct CharTrans **r_chartransdata); -- cgit v1.2.3