Changeset View
Changeset View
Standalone View
Standalone View
source/blender/blenkernel/intern/blender.c
| Show First 20 Lines • Show All 246 Lines • ▼ Show 20 Lines | |||||
| void BKE_blender_userdef_app_template_data_swap(UserDef *userdef_a, UserDef *userdef_b) | void BKE_blender_userdef_app_template_data_swap(UserDef *userdef_a, UserDef *userdef_b) | ||||
| { | { | ||||
| /* TODO: | /* TODO: | ||||
| * - keymaps | * - keymaps | ||||
| * - various minor settings (add as needed). | * - various minor settings (add as needed). | ||||
| */ | */ | ||||
| #define DATA_SWAP(id) \ | #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) { \ | #define LIST_SWAP(id) { \ | ||||
| SWAP(ListBase, userdef_a->id, userdef_b->id); \ | SWAP(ListBase, userdef_a->id, userdef_b->id); \ | ||||
| } ((void)0) | } ((void)0) | ||||
| /* for some types we need custom free functions */ | /* for some types we need custom free functions */ | ||||
| LIST_SWAP(addons); | LIST_SWAP(addons); | ||||
| LIST_SWAP(user_keymaps); | LIST_SWAP(user_keymaps); | ||||
| ▲ Show 20 Lines • Show All 102 Lines • Show Last 20 Lines | |||||