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:
authorPhilipp Oeser <info@graphics-engineer.com>2020-04-27 18:35:35 +0300
committerPhilipp Oeser <info@graphics-engineer.com>2020-04-27 19:04:19 +0300
commitfbae4c5ba3f6836b6223888de2fe346865acde31 (patch)
treeef941c0e41984e834901c1ad2165fc23e44c060b /source/blender/editors/object/object_add.c
parenta4df7f78a8816ca463cb09f23ac64b989cd8ebb0 (diff)
Fix T74700: "Convert Text to Curve" disregards "Text on Curve"
There was an assert here as well since using the original object to read from was having an empty runtime curve cache. Now use BKE_vfont_to_curve_ex instead of BKE_vfont_to_curve, so we can read from the evaluated object and write to the original curves in order to have the modified data taken into account on next object evaluation. (BKE_vfont_to_curve would read and write to/from the same object) Final solution provided by @sergey in that report, thx!
Diffstat (limited to 'source/blender/editors/object/object_add.c')
-rw-r--r--source/blender/editors/object/object_add.c9
1 files changed, 2 insertions, 7 deletions
diff --git a/source/blender/editors/object/object_add.c b/source/blender/editors/object/object_add.c
index 9119d1cac86..9e0a6d51614 100644
--- a/source/blender/editors/object/object_add.c
+++ b/source/blender/editors/object/object_add.c
@@ -2380,13 +2380,8 @@ static int convert_exec(bContext *C, wmOperator *op)
cu = newob->data;
- /* TODO(sergey): Ideally DAG will create nurbs list for a curve data
- * datablock, but for until we've got granular update
- * lets take care by selves.
- */
- /* XXX This may fail/crash, since BKE_vfont_to_curve()
- * accesses evaluated data in some cases (bastien). */
- BKE_vfont_to_curve(newob, FO_EDIT);
+ Object *ob_eval = DEG_get_evaluated_object(depsgraph, ob);
+ BKE_vfont_to_curve_ex(ob_eval, ob_eval->data, FO_EDIT, &cu->nurb, NULL, NULL, NULL, NULL);
newob->type = OB_CURVE;
cu->type = OB_CURVE;