5177e2f20b
References to data-blocks in a material were stored in-memory and could crash if the data-blocks referenced by the material no longer existed when pasting. Resolve by using a blend-file for material copy/paste, matching how the clipboard works in the 3D view-port. Currently there is no support for including indirectly linked data-blocks when pasting the material. Instead, data-blocks are restored by name, by inspecting the current file. This also fixes a crash where the `SpaceNode::nodetree` could point to freed memory when pasting a material. Ref !108496. Includes contributions by @mont29.