2a8122fb65c50999b9e89484724c27c9d15ae628

ed_undo_step_impl
.
This function was doing too many things, with behaviors fairly different depending on its input parameters. This was making the code fragile and hard to follow. Split it in three: * `ed_undo_step_pre` does the common actions before we actually undo data. * `ed_undo_step_post` does the common actions after we have undone/redone data. Then, `ed_undo_step_direction`, `ed_undo_step_by_name` and `ed_undo_step_by_index` do their actual specific actions, with their own logic. Note: Since the actual behavior of those three funtions is fairly different (the first only undo/redo one effective step, the second is only supposed to **undo** //before// given named step, and the third actually undo/redo until given indexed step become active), we could also find better names for those. right now, it sounds like they are doing the same thing, with just different ways to specify the target step. Note: This is part of on-going refactor work on undo system, see T83806. Differential Revision: https://developer.blender.org/D10112
…
…
…
.. Keep this document short & concise, linking to external resources instead of including content in-line. See 'release/text/readme.html' for the end user read-me. Blender ======= Blender is the free and open source 3D creation suite. It supports the entirety of the 3D pipeline-modeling, rigging, animation, simulation, rendering, compositing, motion tracking and video editing. .. figure:: https://code.blender.org/wp-content/uploads/2018/12/springrg.jpg :scale: 50 % :align: center Project Pages ------------- - `Main Website <http://www.blender.org>`__ - `Reference Manual <https://docs.blender.org/manual/en/latest/index.html>`__ - `User Community <https://www.blender.org/community/>`__ Development ----------- - `Build Instructions <https://wiki.blender.org/wiki/Building_Blender>`__ - `Code Review & Bug Tracker <https://developer.blender.org>`__ - `Developer Forum <https://devtalk.blender.org>`__ - `Developer Documentation <https://wiki.blender.org>`__ License ------- Blender as a whole is licensed under the GNU Public License, Version 3. Individual files may have a different, but compatible license. See `blender.org/about/license <https://www.blender.org/about/license>`__ for details.
Description
Languages
C++
78.1%
Python
15%
C
2.8%
GLSL
1.8%
CMake
1.2%
Other
0.9%