The official Blender project repository.
Go to file
Sybren A. Stüvel 3ef748789d Refactor: Core, give the IDWALK_… enums an explicit name
Two commits that basically do the same thing for two `enum`s: give
them a name.

- the `IDWALK_…` enum → `LibraryForeachIDFlag`.
- the `IDWALK_CB_…` enum → `LibraryForeachIDCallbackFlag`.

This way the flags are type-safe, and it's known where values come
from. This is much preferred (at least by me) to just having `int
flags`.

Uses of `0` have been replaced with `IDWALK_NOP` and `IDWALK_CB_NOP`,
as those have the same value and are of the right type.

One invalid use of `IDWALK_NOP` was detected by this change, and is
replaced by `IDWALK_CB_NOP`. And another one in the opposite
direction.

This change might be incomplete; I gave the enum a name, fixed the
compiler errors, and then also updated assignments like `int cb_flag =
cb_data->cb_flag`. I might have missed some assignments to `int`
though.

No functional changes.

----------

I intend to land this PR as its two separate commits. I just put them in the same PR so the buildbot can handle them in one go, and we don't have a stack of highly relatled PRs.

In the future this could also apply to the `IDWALK_RET_…` enum. This one I left out, though, because a proper cleanup there would also have to include their ambiguity on whether they are bitflags (like the enums in this PR) or not. Their values and the code in `BKE_lib_query_foreachid_process()` implies they are bitflags, but in practice they are never or'ed together and just used as discrete values.

Pull Request: #131803
2024-12-12 17:28:28 +01:00
.gitea Report template: Add link to manual system information collection page 2024-11-19 01:05:52 +01: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 Fix: Ninja build command on Windows 2024-12-10 01:10:35 +01:00
doc USD: Add new get_prim_map API callable from python on_import hooks 2024-12-11 21:36:09 +01:00
extern Cmake: Add Pipewire support 2024-12-03 16:26:01 +01:00
intern Fix #111379: Allow Win32 Volume Names to Contain Characters > U+FFFF 2024-12-12 00:49:33 +01:00
lib Libs: Update Windows ARM64 Vulkan + shaderc 2024-12-10 11:16:12 +01:00
locale I18N: Updated UI translation from git/weblate repository (9809f2b9f468b03). 2024-12-09 11:09:44 +01:00
release Installer: Windows: Various tweaks and updates to the installer 2024-12-10 08:41:04 +01:00
scripts Fix #129416: Wrong Bone Selection Set used for selection 2024-12-12 11:19:55 +01:00
source Refactor: Core, give the IDWALK_… enums an explicit name 2024-12-12 17:28:28 +01:00
tests Tests: Add Cycles test for baking from the active camera 2024-12-12 04:03:08 +01:00
tools Cleanup: quiet Python linter warnings 2024-12-11 11:26:24 +11: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 Deps: support vs2022 x64, git ignores 2024-12-09 17:23:17 +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 Fix: CMake: Disable jemalloc/valgrind when ASAN options are enabled. 2024-12-09 16:41:05 +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.