Fix T76155: 'Object lost data' on copy-pasting with new undo code.

This commit is contained in:
Bastien Montagne 2020-04-29 18:11:33 +02:00
parent 0ddf5860f5
commit a54c1f1e77
Notes: blender-bot 2023-02-14 11:34:30 +01:00
Referenced by issue #76155, 'Object lost data' on copy-pasting
1 changed files with 3 additions and 1 deletions

View File

@ -9659,7 +9659,9 @@ static bool read_libblock_undo_restore(
/* Do not add LIB_TAG_NEW here, this should not be needed/used in undo case anyway (as
* this is only for do_version-like code), but for sake of consistency, and also because
* it will tell us which ID is re-used from old Main, and which one is actually new. */
const int id_tag = tag | LIB_TAG_NEED_LINK | LIB_TAG_UNDO_OLD_ID_REUSED;
/* Also do not add LIB_TAG_NEED_LINK, those IDs will never be re-liblinked, hence that tag will
* never be cleared, leading to critical issue in link/appemd code. */
const int id_tag = tag | LIB_TAG_UNDO_OLD_ID_REUSED;
read_libblock_undo_restore_identical(fd, main, id, id_old, id_tag);
/* Insert into library map for lookup by newly read datablocks (with pointer value bhead->old).