Blender Git Commit Log

Git Commits -> Revision 6c8b356

January 10, 2020, 10:10 (GMT)
undoexp: Fix major flaw in general logic of unchanged data detection.

Am not sure why it seemed to work that well so far... But using marker
saying that data did not change between n-2 and n-1 step when undoing
from n to n-1 is not really smart.

Fixed that by adding a 'is_identical_future' flag to memfile chunks,
which is set when storing the next undo step. And then using undo
direction to decide which flag to use to detect unchanged data.

This seesm to work to some extend, although for some reason very most
recent undo step seems to be evaluated when doing the first undo, not
sure why... Need to test that with actual working undo code in
undo-experiments-idnames branch anyway.

Commit Details:

Full Hash: 6c8b356203ed3cb330c6f6fa8354eafe46509687
Parent Commit: 209b2d7
Lines Changed: +47, -16

10 Modified Paths:

/source/blender/blenkernel/BKE_blender_undo.h (+3, -1) (Diff)
/source/blender/blenkernel/intern/blender_undo.c (+4, -3) (Diff)
/source/blender/blenkernel/intern/blendfile.c (+1, -2) (Diff)
/source/blender/blenloader/BLO_readfile.h (+4, -1) (Diff)
/source/blender/blenloader/BLO_undofile.h (+4, -0) (Diff)
/source/blender/blenloader/intern/readblenentry.c (+3, -3) (Diff)
/source/blender/blenloader/intern/readfile.c (+14, -2) (Diff)
/source/blender/blenloader/intern/readfile.h (+6, -1) (Diff)
/source/blender/blenloader/intern/undofile.c (+2, -0) (Diff)
/source/blender/editors/undo/memfile_undo.c (+6, -3) (Diff)
By: Miika HämäläinenLast update: Nov-07-2014 14:18MiikaHweb | 2003-2021