b69a4380b6501d259d3765f895a8b15e0401edea
The copy constructors for `animrig::Strip`, `animrig::Slot`, and `animrig::StripKeyframeData` used a `memcpy` call as part of the copy implementation. However, this produced warnings on clang 20. For example: ``` warning: first argument in call to 'memcpy' is a pointer to non-trivially copyable type 'blender::animrig::Strip' [-Wnontrivial-memcall]` ``` These warnings did not reflect any actual bugs, because the underlying DNA structs that those types wrap are in fact trivial. Nevertheless, it's worth fixing the warnings. This fixes the warnings by replacing the uses of `memcpy` with equivalents that amount to a `memcpy` anyway, but which the compiler understands are valid for the types. There was also one additional use of `memcpy` in `Strip::create()` that did not trigger a warning because it operated directly on the underlying DNA struct, but was also unnecessary. This PR also replaces that with a simple assignment. Pull Request: https://projects.blender.org/blender/blender/pulls/137467
…
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.
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.
Description
Languages
C++
78%
Python
14.9%
C
2.9%
GLSL
1.9%
CMake
1.2%
Other
0.9%
