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!
This commit is contained in:
parent
a4df7f78a8
commit
fbae4c5ba3
Notes:
blender-bot
2023-02-14 10:09:24 +01:00
Referenced by issue #74700, "Convert Text to Curve" disregards "Text ON Curve"
|
@ -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;
|
||||
|
|
Loading…
Reference in New Issue