Merge branch 'master' into blender2.8
[blender.git] / source / blender / editors / curve / editfont.c
index e4db0f1..7cdfafd 100644 (file)
 
 #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"
 
@@ -254,7 +255,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 */
@@ -273,6 +274,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);
 }
 
@@ -419,7 +422,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;
@@ -429,13 +434,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);
 
@@ -582,7 +587,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;