Branch: refs/heads/master Home: https://github.com/synfig/synfig Commit: d0dba5bd7aaa2ec3008b26050a0f73565d986b04 https://github.com/synfig/synfig/commit/d0dba5bd7aaa2ec3008b26050a0f73565d986b04 Author: ice0 <konop...@gmail.com> Date: 2023-03-27 (Mon, 27 Mar 2023)
Changed paths: M synfig-core/src/synfig/valuenodes/valuenode_bone.cpp Log Message: ----------- fix: a crash on program exit if bones were used (#3037) `ValueNode_Bone_Root` does not have a GUID and does not belong to any canvas. Calling `get_guid()` for `ValueNode_Bone_Root` leads to an attempt to insert it into a canvas (it calls `global_node_map()` for this purpose). And if `global_node_map()` is already destroyed at that moment, it leads to a crash. Since `ValueNode_Bone_Root` is also a static variable, it can be destroyed later than `global_node_map()`. I moved this variable inside `get_root_bone()` method, which changed the initialization and destruction order. I also added a check for `is_root()` for more correct behavior. _______________________________________________ Synfig-devl mailing list Synfig-devl@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/synfig-devl