f7a033e54722cd712bef3f8c06e9eb9bca4100f0
Rewrite `AssetShelfSettings::operator=` and fix `~AssetShelfSettings()` to address some memory management issues: - `memcpy` was used to copy a C++ struct, which shouldn't be done: it can cause undefined behaviour if the class has vtables or internal padding. This isn't the case here, but GCC nonetheless warns for it. - `active_catalog_path` was incorrectly freed via `MEM_delete()`; it was allocated with `BLI_strdup()`, which uses `MEM_malloc_arrayN()` and thus should be freed with `MEM_freeN()`. - Self-assignments weren't handled properly, and could cause data loss. These are now all fixed. Pull Request: https://projects.blender.org/blender/blender/pulls/143701
…
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%
