The official Blender project repository.
Go to file
Iliya Katushenock 65abb1ef93 BLI: improve Map iteration API to avoid common issues at compile time
Doing something like `for (auto key : get_map().keys())` does not work, because the lifetime
of the `Map` returned by `get_map()` is not automatically extended for the duration of
the loop. This could cause crashes at run-time.

Now this pattern will not compile anymore. Note that there are possible valid use-cases
of this iterating over a `Map` that won't compile anymore either. This is fairly uncommon
though, and just storing the map in a separate temporary variable is a simple fix.
This would have been a valid usage for example: `do_something(get_map().keys())`.

This would have prevented e.g. 9840dd233c.

Pull Request: #129880
2024-11-14 10:54:50 +01:00
.gitea Issue template: Use bug label for Python API reports 2024-08-22 04:28:52 +02:00
.github Funding: Add FUNDING.yml to link to fund.blender.org on GitHub mirror 2024-07-31 10:03:57 +02:00
build_files Core: remove WITH_CXX_GUARDEDALLOC option 2024-11-13 13:39:49 +01:00
doc Merge branch 'blender-v4.3-release' 2024-11-11 16:17:04 +01:00
extern Fix #129162: High idle CPU usage with PulseAudio in Linux 2024-10-29 16:19:07 +01:00
intern Core: remove WITH_CXX_GUARDEDALLOC option 2024-11-13 13:39:49 +01:00
lib Windows ARM64: Update autopep8 2024-11-05 19:23:15 +01:00
locale I18N: Updated UI translations from git/weblate repository (b496e6d30b168f). 2024-11-11 11:43:47 +01:00
release Merge branch 'blender-v4.3-release' 2024-11-13 00:07:14 +01:00
scripts Merge branch 'blender-v4.3-release' 2024-11-13 01:27:50 -05:00
source BLI: improve Map iteration API to avoid common issues at compile time 2024-11-14 10:54:50 +01:00
tests Tests: add VSE render test coverage for ffmpeg movie decoding 2024-11-13 14:59:38 +02:00
tools LSAN suppression rules: add exception for ffmpeg x265 malloc. 2024-11-13 13:26:56 +01:00
.clang-format ClangFormat: Remove unused sculpt macro exceptions 2024-11-12 00:44:24 +01:00
.clang-tidy Cleanup: match declaration names, avoid shadowing & clear trailing space 2024-10-03 12:12:08 +10:00
.editorconfig editorconfig: add HTML entry 2023-12-08 13:28:13 +11:00
.git-blame-ignore-revs Cleanup: add commit to .git-blame-ignore-revs 2023-05-03 20:31:11 +10:00
.gitignore Switch SVN to Git submodules using Git-LFS 2024-02-22 13:50:55 +01:00
.gitmodules Revert "Release cycle: Blender 4.3 Beta" 2024-10-02 12:35:26 +02:00
AUTHORS AUTHORS: add 1 new author (via override) 2024-10-29 14:43:10 +11:00
CMakeLists.txt macOS: Add support for clang-tidy checks during compilation 2024-11-13 16:14:01 +01:00
COPYING == docs == 2010-10-13 14:44:22 +00:00
GNUmakefile make license: command to update the license file 2024-10-18 17:09:43 +02:00
make.bat make license: command to update the license file 2024-10-18 17:09:43 +02:00
pyproject.toml pyproject.toml: correct autopep8 configuration for 2.3.1 2024-10-16 20:55:03 +11:00
README.md Docs: Replace most wiki links with links to new developer docs 2024-01-18 16:49:38 +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.