Go to file
Bastien Montagne d94281d7af Fix rare crashes when reading files with multi-levels of libraries.
Some left-over code from old refactoring/improvements of old addresses
remapping in library reading code was causing some wrong remapping
between different IDs.

The code was actually not doing what its comment was describing, since
it would cause a random remapping to a different new address than the
expected one:

Initial state, before removed buggy line:
`old_addr_1 -> new_addr_1`
`old_addr_2 -> new_addr_2`

End state, if `old_addr_2` == `new_addr_1`:
`old_addr_1 -> new_addr_2`
`old_addr_2 -> new_addr_2`

From the description of the removed line, that behavior was actually
already covered by adding the remapping rule in the line above, since
adding a remapping overwrite an existing one if needed, so the line
above would do (in case a placeholder ID existed before the actual ID
got read):

Initial state, before adding new remapping rule:
`old_addr_1 -> new_addr_placeholder_1`

End state, after adding remapping to newly read ID:
`old_addr_1 -> new_addr_1`

NOTE: Noticed thanks to rare failures of the liboverride tests on
buildbots. The issue was less than 1%-reproducible with a debug build
and ASAN, but had about 2-4% repducibility with release builds.

Pull Request: https://projects.blender.org/blender/blender/pulls/114784
2023-11-13 15:01:58 +01:00
.gitea Gitea: add note that developers must opt-out of inclusion in AUTHORS 2023-08-18 09:23:43 +10:00
.github Docs: change Git URLs to point projects.blender.org instead of git.blender.org 2023-02-07 14:23:05 +01:00
build_files CMake: Allow building with system Vulkan and ShaderC 2023-11-10 18:10:41 +01:00
doc Merge branch 'blender-v4.0-release' 2023-11-01 10:33:27 +02:00
extern Merge branch 'blender-v4.0-release' 2023-10-31 18:17:46 +01:00
intern Merge branch 'blender-v4.0-release' 2023-11-10 09:19:03 +01:00
locale I18N: Updated UI translations from git/weblate repo (548bcaeb28eba). 2023-11-13 12:56:24 +01:00
release Merge branch 'blender-v4.0-release' 2023-11-08 14:59:16 +01:00
scripts Fix modal key assignment for "Rotate Normals" in keymap versioning 2023-11-13 09:47:10 -03:00
source Fix rare crashes when reading files with multi-levels of libraries. 2023-11-13 15:01:58 +01:00
tests Build: correct package name & code-comment for WESTON in lib/ 2023-11-09 14:57:09 +11:00
tools Cleanup: spelling in comments 2023-11-09 09:54:28 +11:00
.clang-format clang-format: set BraceWrapping::AfterControlStatement to "MultiLine" 2023-05-02 09:37:08 +10:00
.clang-tidy Clang-tidy: Ignore variable name length and .c/.cc include warnings 2022-05-06 15:26:54 +02:00
.editorconfig pyproject: add configuration for autopep8 2022-04-22 10:13:39 +10:00
.git-blame-ignore-revs Cleanup: add commit to .git-blame-ignore-revs 2023-05-03 20:31:11 +10:00
.gitignore Ignore build files for VS and VS Code 2023-03-07 17:38:34 +01:00
AUTHORS AUTHORS: add 3 new developers 2023-11-02 16:09:11 +11:00
CMakeLists.txt Tests: add WIITH_TESTS_BATCHED option to execute Blender once per test 2023-11-08 18:41:33 +01:00
COPYING == docs == 2010-10-13 14:44:22 +00:00
GNUmakefile Makefile: remove redundant directory changing 2023-09-29 16:44:31 +10:00
make.bat Windows: Propagate errors in make.bat 2023-08-16 19:29:47 +02:00
pyproject.toml pyproject: remove tools/pyproject.toml 2023-03-01 22:18:28 +11:00
README.md Update references to the new projects platform and main branch 2023-02-07 14:18:19 +01:00

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.

Blender screenshot

Project Pages

Development

License

Blender as a whole is licensed under the GNU General Public License, Version 3. Individual files may have a different, but compatible license.

See blender.org/about/license for details.