Blender Git Commit Log

Git Commits -> Revision 366865d

Revision 366865d by Campbell Barton (master)
July 17, 2019, 11:19 (GMT)
Undo System: replace with simpler binary diffing buffer storage

Applying/undoing incremental changes didn't fit well when
mixed with periodic snapshots from mem-file undo.

This moves to a much simpler undo system.

- Uses array storage with de-duplication from `BLI_array_store`.
- Loads the buffer into existing text data,
for better performance on large files.
- Has the advantage that Python operators can be supported
since we don't depend on hard coded undo operations.

Solves T67045, T66695, T65909.

Commit Details:

Full Hash: 366865dd020904116086e6d9ec46b8f70c42cdd1
Parent Commit: 9e9fbb3
Lines Changed: +296, -1426

9 Modified Paths:

/source/blender/blenkernel/BKE_text.h (+21, -26) (Diff)
/source/blender/blenkernel/intern/text.c (+149, -1256) (Diff)
/source/blender/editors/include/ED_text.h (+2, -2) (Diff)
/source/blender/editors/interface/interface_ops.c (+1, -2) (Diff)
/source/blender/editors/space_text/text_autocomplete.c (+8, -8) (Diff)
/source/blender/editors/space_text/text_ops.c (+33, -33) (Diff)
/source/blender/editors/space_text/text_undo.c (+80, -95) (Diff)
/source/blender/makesdna/DNA_text_types.h (+0, -2) (Diff)
/source/blender/makesrna/intern/rna_text_api.c (+2, -2) (Diff)
By: Miika HämäläinenLast update: Nov-07-2014 14:18MiikaHweb | 2003-2021