From 3bec70ca60bb227cf1b86f588714e2b3edb6be5e Mon Sep 17 00:00:00 2001 From: Campbell Barton Date: Thu, 23 Nov 2017 15:18:22 +1100 Subject: Use custom SWAP macro for swapping userdef data Avoids complicating the common case --- source/blender/blenkernel/intern/blender.c | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) (limited to 'source/blender/blenkernel/intern/blender.c') diff --git a/source/blender/blenkernel/intern/blender.c b/source/blender/blenkernel/intern/blender.c index fdfb4628d1a..af46b6ec852 100644 --- a/source/blender/blenkernel/intern/blender.c +++ b/source/blender/blenkernel/intern/blender.c @@ -248,7 +248,12 @@ void BKE_blender_userdef_app_template_data_swap(UserDef *userdef_a, UserDef *use */ #define DATA_SWAP(id) \ - SWAP(userdef_a->id, userdef_b->id); + { \ + UserDef userdef_tmp; \ + memcpy(&(userdef_tmp.id), &(userdef_a->id), sizeof(userdef_tmp.id)); \ + memcpy(&(userdef_a->id), &(userdef_b->id), sizeof(userdef_tmp.id)); \ + memcpy(&(userdef_b->id), &(userdef_tmp.id), sizeof(userdef_tmp.id)); \ + } #define LIST_SWAP(id) { \ SWAP(ListBase, userdef_a->id, userdef_b->id); \ -- cgit v1.2.3