Fix T73675: Leaving exit mode tags all objects for update

This is an oversight of a fix for T69834, where I didn't realize the
ED_object_editmode_exit_ex() function is called for all objects as an
opposite of only the ones which were in edit mode.

Seems a simple fix: just move tag into a check that object was in the
edit mode prior to tag.

Differential Revision: https://developer.blender.org/D6808
This commit is contained in:
2020-02-11 10:12:43 +01:00
parent d2ff21e75d
commit 3dcddf83bf

View File

@@ -543,9 +543,9 @@ bool ED_object_editmode_exit_ex(Main *bmain, Scene *scene, Object *obedit, int f
* is flagged for editmode, without 'obedit' being set [#35489] */
if (UNLIKELY(obedit && obedit->mode & OB_MODE_EDIT)) {
obedit->mode &= ~OB_MODE_EDIT;
/* Also happens when mesh is shared across multiple objects. [#T69834] */
DEG_id_tag_update(&obedit->id, ID_RECALC_TRANSFORM | ID_RECALC_GEOMETRY);
}
/* Also happens when mesh is shared across multiple objects. [#T69834] */
DEG_id_tag_update(&obedit->id, ID_RECALC_TRANSFORM | ID_RECALC_GEOMETRY);
return true;
}