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-10-29 09:32:15 +0300
committerCampbell Barton <ideasman42@gmail.com>2018-10-29 09:36:39 +0300
commit0e268fb68b612e44a74a74631df206c8aaded97b (patch)
tree6ff83fb862fda50b7659ead6ec88ff9fa002114a /source/blender/editors/object/object_modes.c
parentcf1cf105a0d10fb4b99d9ff01fc75520dacaacfd (diff)
Fix topbar tool UI being lost on undo
Using operators to the object mode was resetting the tool. See: T56865
Diffstat (limited to 'source/blender/editors/object/object_modes.c')
-rw-r--r--source/blender/editors/object/object_modes.c16
1 files changed, 16 insertions, 0 deletions
diff --git a/source/blender/editors/object/object_modes.c b/source/blender/editors/object/object_modes.c
index b9bfb44f680..ee075a94d29 100644
--- a/source/blender/editors/object/object_modes.c
+++ b/source/blender/editors/object/object_modes.c
@@ -38,6 +38,7 @@
#include "BKE_object.h"
#include "BKE_paint.h"
#include "BKE_report.h"
+#include "BKE_layer.h"
#include "WM_api.h"
#include "WM_types.h"
@@ -176,6 +177,21 @@ void ED_object_mode_set(bContext *C, eObjectMode mode)
wm->op_undo_depth--;
}
+void ED_object_mode_exit(bContext *C)
+{
+ Depsgraph *depsgraph = CTX_data_depsgraph(C);
+ struct Main *bmain = CTX_data_main(C);
+ Scene *scene = CTX_data_scene(C);
+ ViewLayer *view_layer = CTX_data_view_layer(C);
+ FOREACH_OBJECT_BEGIN(view_layer, ob)
+ {
+ if (ob->mode & OB_MODE_ALL_MODE_DATA) {
+ ED_object_mode_generic_exit(bmain, depsgraph, scene, ob);
+ }
+ }
+ FOREACH_OBJECT_END;
+}
+
/** \} */
/* -------------------------------------------------------------------- */