Changeset View
Changeset View
Standalone View
Standalone View
source/blender/editors/object/object_modes.c
| Show First 20 Lines • Show All 165 Lines • ▼ Show 20 Lines | |||||
| void ED_object_mode_toggle(bContext *C, eObjectMode mode) | void ED_object_mode_toggle(bContext *C, eObjectMode mode) | ||||
| { | { | ||||
| if (mode != OB_MODE_OBJECT) { | if (mode != OB_MODE_OBJECT) { | ||||
| const char *opstring = object_mode_op_string(mode); | const char *opstring = object_mode_op_string(mode); | ||||
| if (opstring) { | if (opstring) { | ||||
| wmOperatorType *ot = WM_operatortype_find(opstring, false); | wmOperatorType *ot = WM_operatortype_find(opstring, false); | ||||
| if (ot->flag & OPTYPE_USE_EVAL_DATA) { | |||||
| /* We need to force refresh of depsgraph after undo step, | |||||
| * redoing the operator *may* rely on some valid evaluated data. */ | |||||
| struct Main *bmain = CTX_data_main(C); | |||||
| Scene *scene = CTX_data_scene(C); | |||||
| ViewLayer *view_layer = CTX_data_view_layer(C); | |||||
| BKE_scene_view_layer_graph_evaluated_ensure(bmain, scene, view_layer); | |||||
| } | |||||
| WM_operator_name_call_ptr(C, ot, WM_OP_EXEC_REGION_WIN, NULL); | WM_operator_name_call_ptr(C, ot, WM_OP_EXEC_REGION_WIN, NULL); | ||||
| } | } | ||||
| } | } | ||||
| } | } | ||||
| /* Wrapper for operator */ | /* Wrapper for operator */ | ||||
| void ED_object_mode_set(bContext *C, eObjectMode mode) | void ED_object_mode_set(bContext *C, eObjectMode mode) | ||||
| { | { | ||||
| wmWindowManager *wm = CTX_wm_manager(C); | wmWindowManager *wm = CTX_wm_manager(C); | ||||
| wm->op_undo_depth++; | wm->op_undo_depth++; | ||||
| /* needed so we don't do undo pushes. */ | /* needed so we don't do undo pushes. */ | ||||
| ED_object_mode_generic_enter(C, mode); | ED_object_mode_generic_enter(C, mode); | ||||
| wm->op_undo_depth--; | wm->op_undo_depth--; | ||||
| } | } | ||||
| /** \} */ | /** \} */ | ||||
brecht: This function is not used anywhere, remove it. | |||||
| /* -------------------------------------------------------------------- */ | /* -------------------------------------------------------------------- */ | ||||
| /** \name Generic Mode Enter/Exit | /** \name Generic Mode Enter/Exit | ||||
| * | * | ||||
| * Supports exiting a mode without it being in the current context. | * Supports exiting a mode without it being in the current context. | ||||
| * This could be done for entering modes too if it's needed. | * This could be done for entering modes too if it's needed. | ||||
| * | * | ||||
| * \{ */ | * \{ */ | ||||
| ▲ Show 20 Lines • Show All 101 Lines • Show Last 20 Lines | |||||
This function is not used anywhere, remove it.