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:
authorCampbell Barton <ideasman42@gmail.com>2018-05-15 11:25:49 +0300
committerCampbell Barton <ideasman42@gmail.com>2018-05-15 11:25:49 +0300
commitf1bc8991461fcda33eb34820bd3aa153f6122c5b (patch)
treef6e2c533feeff8a9cf0ff36aef8035e95a5e0f0b /source/blender/editors/object/object_edit.c
parent55b241d32a2c3192a439c51aff99a0a248ca9ef2 (diff)
parent9636cab0098f96b9c6b6493fb7120f32d7506cd6 (diff)
Merge branch 'master' into blender2.8
Diffstat (limited to 'source/blender/editors/object/object_edit.c')
-rw-r--r--source/blender/editors/object/object_edit.c27
1 files changed, 7 insertions, 20 deletions
diff --git a/source/blender/editors/object/object_edit.c b/source/blender/editors/object/object_edit.c
index 4b13419f425..e87a24b3af0 100644
--- a/source/blender/editors/object/object_edit.c
+++ b/source/blender/editors/object/object_edit.c
@@ -268,14 +268,11 @@ bool ED_object_editmode_load(Object *obedit)
}
/**
- * \param C: Can be NULL, only if #EM_DO_UNDO isn't set.
* \param flag:
- * - Only in exceptional cases should #EM_DO_UNDO NOT be in the flag.
* - If #EM_FREEDATA isn't in the flag, use ED_object_editmode_load directly.
*/
-void ED_object_editmode_exit_ex(bContext *C, Scene *scene, Object *obedit, int flag)
+void ED_object_editmode_exit_ex(Scene *scene, Object *obedit, int flag)
{
- BLI_assert(C || !(flag & EM_DO_UNDO));
const bool freedata = (flag & EM_FREEDATA) != 0;
if (flag & EM_WAITCURSOR) waitcursor(1);
@@ -307,16 +304,8 @@ void ED_object_editmode_exit_ex(bContext *C, Scene *scene, Object *obedit, int f
/* also flush ob recalc, doesn't take much overhead, but used for particles */
DEG_id_tag_update(&obedit->id, OB_RECALC_OB | OB_RECALC_DATA);
-
- if (flag & EM_DO_UNDO)
- ED_undo_push(C, "Editmode");
- if (C != NULL) {
- WM_event_add_notifier(C, NC_SCENE | ND_MODE | NS_MODE_OBJECT, scene);
- }
- else {
- WM_main_add_notifier(NC_SCENE | ND_MODE | NS_MODE_OBJECT, scene);
- }
+ WM_main_add_notifier(NC_SCENE | ND_MODE | NS_MODE_OBJECT, scene);
obedit->mode &= ~OB_MODE_EDIT;
@@ -329,7 +318,7 @@ void ED_object_editmode_exit(bContext *C, int flag)
{
Scene *scene = CTX_data_scene(C);
Object *obedit = CTX_data_edit_object(C);
- ED_object_editmode_exit_ex(C, scene, obedit, flag);
+ ED_object_editmode_exit_ex(scene, obedit, flag);
}
void ED_object_editmode_enter_ex(Scene *scene, Object *ob, int flag)
@@ -428,7 +417,6 @@ void ED_object_editmode_enter_ex(Scene *scene, Object *ob, int flag)
}
if (flag & EM_WAITCURSOR) waitcursor(0);
- BLI_assert((flag & EM_DO_UNDO) == 0);
}
void ED_object_editmode_enter(bContext *C, int flag)
@@ -446,8 +434,7 @@ void ED_object_editmode_enter(bContext *C, int flag)
if (ob == NULL) return;
if (ID_IS_LINKED(ob)) return;
- ED_object_editmode_enter_ex(scene, ob, flag & ~EM_DO_UNDO);
- if (flag & EM_DO_UNDO) ED_undo_push(C, "Enter Editmode");
+ ED_object_editmode_enter_ex(scene, ob, flag);
}
static int editmode_toggle_exec(bContext *C, wmOperator *op)
@@ -478,12 +465,12 @@ static int editmode_toggle_exec(bContext *C, wmOperator *op)
}
}
else {
- ED_object_editmode_exit(C, EM_FREEDATA | EM_WAITCURSOR); /* had EM_DO_UNDO but op flag calls undo too [#24685] */
+ ED_object_editmode_exit(C, EM_FREEDATA | EM_WAITCURSOR);
if ((obact->mode & mode_flag) == 0) {
FOREACH_SELECTED_OBJECT_BEGIN(view_layer, ob)
{
if ((ob != obact) && (ob->type == obact->type)) {
- ED_object_editmode_exit_ex(NULL, scene, ob, EM_FREEDATA | EM_WAITCURSOR);
+ ED_object_editmode_exit_ex(scene, ob, EM_FREEDATA | EM_WAITCURSOR);
}
}
FOREACH_SELECTED_OBJECT_END;
@@ -550,7 +537,7 @@ static int posemode_exec(bContext *C, wmOperator *op)
}
if (obact == CTX_data_edit_object(C)) {
- ED_object_editmode_exit(C, EM_FREEDATA | EM_DO_UNDO);
+ ED_object_editmode_exit(C, EM_FREEDATA);
is_mode_set = false;
}