diff options
Diffstat (limited to 'source/blender/editors/curve/editfont.c')
-rw-r--r-- | source/blender/editors/curve/editfont.c | 17 |
1 files changed, 11 insertions, 6 deletions
diff --git a/source/blender/editors/curve/editfont.c b/source/blender/editors/curve/editfont.c index bc4a4d0105d..75efdec3dd2 100644 --- a/source/blender/editors/curve/editfont.c +++ b/source/blender/editors/curve/editfont.c @@ -49,13 +49,14 @@ #include "BKE_context.h" #include "BKE_curve.h" -#include "BKE_depsgraph.h" #include "BKE_font.h" #include "BKE_library.h" #include "BKE_main.h" #include "BKE_object.h" #include "BKE_report.h" +#include "DEG_depsgraph.h" + #include "RNA_access.h" #include "RNA_define.h" @@ -253,7 +254,7 @@ static void text_update_edited(bContext *C, Object *obedit, int mode) /* run update first since it can move the cursor */ if (mode == FO_EDIT) { /* re-tesselllate */ - DAG_id_tag_update(obedit->data, 0); + DEG_id_tag_update(obedit->data, 0); } else { /* depsgraph runs above, but since we're not tagging for update, call direct */ @@ -272,6 +273,8 @@ static void text_update_edited(bContext *C, Object *obedit, int mode) } } + BKE_curve_batch_cache_dirty(cu, BKE_CURVE_BATCH_DIRTY_SELECT); + WM_event_add_notifier(C, NC_GEOM | ND_DATA, obedit->data); } @@ -418,7 +421,9 @@ void FONT_OT_text_paste_from_file(wmOperatorType *ot) static void txt_add_object(bContext *C, TextLine *firstline, int totline, const float offset[3]) { Main *bmain = CTX_data_main(C); + Depsgraph *depsgraph = CTX_data_depsgraph(C); Scene *scene = CTX_data_scene(C); + ViewLayer *view_layer = CTX_data_view_layer(C); Curve *cu; Object *obedit; Base *base; @@ -428,13 +433,13 @@ static void txt_add_object(bContext *C, TextLine *firstline, int totline, const int a; float rot[3] = {0.f, 0.f, 0.f}; - obedit = BKE_object_add(bmain, scene, OB_FONT, NULL); - base = scene->basact; + obedit = BKE_object_add(bmain, scene, view_layer, OB_FONT, NULL); + base = view_layer->basact; /* seems to assume view align ? TODO - look into this, could be an operator option */ ED_object_base_init_transform(C, base, NULL, rot); - BKE_object_where_is_calc(scene, obedit); + BKE_object_where_is_calc(depsgraph, scene, obedit); add_v3_v3(obedit->loc, offset); @@ -581,7 +586,7 @@ static int set_style(bContext *C, const int style, const bool clear) ef->textbufinfo[i].flag |= style; } - DAG_id_tag_update(obedit->data, 0); + DEG_id_tag_update(obedit->data, 0); WM_event_add_notifier(C, NC_GEOM | ND_DATA, obedit->data); return OPERATOR_FINISHED; |