Cleanup: remove EM_IGNORE_LAYER

Call ED_object_editmode_enter_ex instead.
This commit is contained in:
Campbell Barton
2019-01-31 15:36:24 +11:00
parent c454db2746
commit 9407456e3f
4 changed files with 10 additions and 13 deletions

View File

@@ -133,8 +133,7 @@ void ED_object_parent(struct Object *ob, struct Object *parent, const int type,
/* bitflags for enter/exit editmode */
enum {
EM_FREEDATA = (1 << 0),
EM_IGNORE_LAYER = (1 << 3),
EM_NO_CONTEXT = (1 << 4),
EM_NO_CONTEXT = (1 << 1),
};
bool ED_object_editmode_exit_ex(
struct Main *bmain, struct Scene *scene, struct Object *obedit, int flag);

View File

@@ -69,15 +69,15 @@ static Object *make_prim_init(
const float loc[3], const float rot[3], ushort local_view_bits,
MakePrimitiveData *r_creation_data)
{
struct Main *bmain = CTX_data_main(C);
Scene *scene = CTX_data_scene(C);
Object *obedit = CTX_data_edit_object(C);
r_creation_data->was_editmode = false;
if (obedit == NULL || obedit->type != OB_MESH) {
obedit = ED_object_add_type(C, OB_MESH, idname, loc, rot, false, local_view_bits);
ED_object_editmode_enter_ex(bmain, scene, obedit, 0);
/* create editmode */
/* rare cases the active layer is messed up */
ED_object_editmode_enter(C, EM_IGNORE_LAYER);
r_creation_data->was_editmode = true;
}

View File

@@ -416,8 +416,9 @@ Object *ED_object_add_type(
DEG_id_tag_update_ex(bmain, (ID *)ob->data, ID_RECALC_EDITORS);
}
if (enter_editmode)
ED_object_editmode_enter(C, EM_IGNORE_LAYER);
if (enter_editmode) {
ED_object_editmode_enter_ex(bmain, scene, ob, 0);
}
WM_event_add_notifier(C, NC_SCENE | ND_LAYER_CONTENT, scene);

View File

@@ -652,12 +652,9 @@ bool ED_object_editmode_enter(bContext *C, int flag)
ViewLayer *view_layer = CTX_data_view_layer(C);
Object *ob;
if ((flag & EM_IGNORE_LAYER) == 0) {
ob = CTX_data_active_object(C); /* active layer checked here for view3d */
}
else {
ob = view_layer->basact->object;
}
/* Active layer checked here for view3d,
* callers that don't want view context can call the extended version. */
ob = CTX_data_active_object(C);
if ((ob == NULL) || ID_IS_LINKED(ob)) {
return false;
}