Blender Git Commit Log

Git Commits -> Revision cda1540

Revision cda1540 by Bastien Montagne (master)
June 3, 2020, 10:07 (GMT)
Undo: Detect/find proper memchunk for a given ID during undo step writing.

Most of the time current (based on order) system works fine, but when you add
or rename (i.e. re-sort) some ID, every data/memchunk afterwards would be out
of sync and hence re-stored in memory (and reported as changed).

Now we are storing the ID's session_uuid in the memchunks, which allows to
actually always find the first memchunk for an already existing ID stored in
previous undo steps, and compare the right memory.

Note that current, based-on-order system is still used almost all of the time,
search in the new ghash is only performed for a few data-blocks (when needed at all).

Reviewed By: brecht

Maniphest Tasks: T60695

Differential Revision: https://developer.blender.org/D7877

Commit Details:

Full Hash: cda15408582e8de5b40543738b92b8fcf5e77978
Parent Commit: 3384bb2
Lines Changed: +123, -20

3 Modified Paths:

/source/blender/blenloader/BLO_undofile.h (+22, -4) (Diff)
/source/blender/blenloader/intern/undofile.c (+48, -1) (Diff)
/source/blender/blenloader/intern/writefile.c (+53, -15) (Diff)
By: Miika HämäläinenLast update: Nov-07-2014 14:18MiikaHweb | 2003-2021