diff options
author | Jacques Lucke <jacques@blender.org> | 2020-06-07 12:34:23 +0300 |
---|---|---|
committer | Jacques Lucke <jacques@blender.org> | 2020-06-07 12:34:23 +0300 |
commit | 5ff8a2ca0e57ebb11125d02494ad22275f801a3c (patch) | |
tree | 851c2887774c292d11a00909f93805e149a283b5 /source/blender/blenloader/intern | |
parent | b8afd4e8bb1136d9e0229ec6a85bef1cc7d884e7 (diff) |
Refactor: use new api to simplify IDP_DirectLinkGroup_OrFree
Diffstat (limited to 'source/blender/blenloader/intern')
-rw-r--r-- | source/blender/blenloader/intern/readfile.c | 61 |
1 files changed, 21 insertions, 40 deletions
diff --git a/source/blender/blenloader/intern/readfile.c b/source/blender/blenloader/intern/readfile.c index a29eaa1eba3..0dace42db6d 100644 --- a/source/blender/blenloader/intern/readfile.c +++ b/source/blender/blenloader/intern/readfile.c @@ -2647,8 +2647,8 @@ static void IDP_DirectLinkProperty(IDProperty *prop, int switch_endian, FileData } } -#define IDP_DirectLinkGroup_OrFree(prop, switch_endian, fd) \ - _IDP_DirectLinkGroup_OrFree(prop, switch_endian, fd, __func__) +#define IDP_DirectLinkGroup_OrFree(prop, reader) \ + _IDP_DirectLinkGroup_OrFree(prop, BLO_read_requires_endian_switch(reader), reader->fd, __func__) static void _IDP_DirectLinkGroup_OrFree(IDProperty **prop, int switch_endian, @@ -2921,8 +2921,7 @@ static void direct_link_id_common( if (id->properties) { BLO_read_data_address(reader, &id->properties); /* this case means the data was written incorrectly, it should not happen */ - IDP_DirectLinkGroup_OrFree( - &id->properties, (reader->fd->flags & FD_FLAGS_SWITCH_ENDIAN), reader->fd); + IDP_DirectLinkGroup_OrFree(&id->properties, reader); } id->flag &= ~LIB_INDIRECT_WEAK_LINK; @@ -3300,8 +3299,7 @@ static void direct_link_fmodifiers(BlendDataReader *reader, ListBase *list, FCur FMod_Python *data = (FMod_Python *)fcm->data; BLO_read_data_address(reader, &data->prop); - IDP_DirectLinkGroup_OrFree( - &data->prop, (reader->fd->flags & FD_FLAGS_SWITCH_ENDIAN), reader->fd); + IDP_DirectLinkGroup_OrFree(&data->prop, reader); break; } @@ -3636,8 +3634,7 @@ static void direct_link_workspace(BlendDataReader *reader, WorkSpace *workspace, LISTBASE_FOREACH (bToolRef *, tref, &workspace->tools) { tref->runtime = NULL; BLO_read_data_address(reader, &tref->properties); - IDP_DirectLinkGroup_OrFree( - &tref->properties, (reader->fd->flags & FD_FLAGS_SWITCH_ENDIAN), reader->fd); + IDP_DirectLinkGroup_OrFree(&tref->properties, reader); } workspace->status_text = NULL; @@ -3741,8 +3738,7 @@ static void lib_link_nodetree(FileData *fd, Main *UNUSED(bmain), bNodeTree *ntre static void direct_link_node_socket(BlendDataReader *reader, bNodeSocket *sock) { BLO_read_data_address(reader, &sock->prop); - IDP_DirectLinkGroup_OrFree( - &sock->prop, (reader->fd->flags & FD_FLAGS_SWITCH_ENDIAN), reader->fd); + IDP_DirectLinkGroup_OrFree(&sock->prop, reader); BLO_read_data_address(reader, &sock->link); sock->typeinfo = NULL; @@ -3778,8 +3774,7 @@ static void direct_link_nodetree(BlendDataReader *reader, bNodeTree *ntree) BLO_read_list(reader, &node->outputs); BLO_read_data_address(reader, &node->prop); - IDP_DirectLinkGroup_OrFree( - &node->prop, (reader->fd->flags & FD_FLAGS_SWITCH_ENDIAN), reader->fd); + IDP_DirectLinkGroup_OrFree(&node->prop, reader); BLO_read_list(reader, &node->internal_links); for (link = node->internal_links.first; link; link = link->next) { @@ -3979,8 +3974,7 @@ static void direct_link_constraints(BlendDataReader *reader, ListBase *lb) BLO_read_list(reader, &data->targets); BLO_read_data_address(reader, &data->prop); - IDP_DirectLinkGroup_OrFree( - &data->prop, (reader->fd->flags & FD_FLAGS_SWITCH_ENDIAN), reader->fd); + IDP_DirectLinkGroup_OrFree(&data->prop, reader); break; } case CONSTRAINT_TYPE_ARMATURE: { @@ -4101,8 +4095,7 @@ static void direct_link_bones(BlendDataReader *reader, Bone *bone) BLO_read_data_address(reader, &bone->parent); BLO_read_data_address(reader, &bone->prop); - IDP_DirectLinkGroup_OrFree( - &bone->prop, (reader->fd->flags & FD_FLAGS_SWITCH_ENDIAN), reader->fd); + IDP_DirectLinkGroup_OrFree(&bone->prop, reader); BLO_read_data_address(reader, &bone->bbone_next); BLO_read_data_address(reader, &bone->bbone_prev); @@ -5496,8 +5489,7 @@ static void direct_link_pose(BlendDataReader *reader, bPose *pose) direct_link_constraints(reader, &pchan->constraints); BLO_read_data_address(reader, &pchan->prop); - IDP_DirectLinkGroup_OrFree( - &pchan->prop, (reader->fd->flags & FD_FLAGS_SWITCH_ENDIAN), reader->fd); + IDP_DirectLinkGroup_OrFree(&pchan->prop, reader); BLO_read_data_address(reader, &pchan->mpath); if (pchan->mpath) { @@ -6322,8 +6314,7 @@ static void direct_link_view_layer(BlendDataReader *reader, ViewLayer *view_laye BLO_read_data_address(reader, &view_layer->active_collection); BLO_read_data_address(reader, &view_layer->id_properties); - IDP_DirectLinkGroup_OrFree( - &view_layer->id_properties, (reader->fd->flags & FD_FLAGS_SWITCH_ENDIAN), reader->fd); + IDP_DirectLinkGroup_OrFree(&view_layer->id_properties, reader); BLO_read_list(reader, &(view_layer->freestyle_config.modules)); BLO_read_list(reader, &(view_layer->freestyle_config.linesets)); @@ -6561,8 +6552,7 @@ static void direct_link_view3dshading(BlendDataReader *reader, View3DShading *sh { if (shading->prop) { BLO_read_data_address(reader, &shading->prop); - IDP_DirectLinkGroup_OrFree( - &shading->prop, (reader->fd->flags & FD_FLAGS_SWITCH_ENDIAN), reader->fd); + IDP_DirectLinkGroup_OrFree(&shading->prop, reader); } } @@ -6989,8 +6979,7 @@ static void direct_link_scene(BlendDataReader *reader, Scene *sce) } BLO_read_data_address(reader, &seq->prop); - IDP_DirectLinkGroup_OrFree( - &seq->prop, (reader->fd->flags & FD_FLAGS_SWITCH_ENDIAN), reader->fd); + IDP_DirectLinkGroup_OrFree(&seq->prop, reader); BLO_read_data_address(reader, &seq->strip); if (seq->strip && seq->strip->done == 0) { @@ -7084,8 +7073,7 @@ static void direct_link_scene(BlendDataReader *reader, Scene *sce) } if (sce->r.ffcodecdata.properties) { BLO_read_data_address(reader, &sce->r.ffcodecdata.properties); - IDP_DirectLinkGroup_OrFree( - &sce->r.ffcodecdata.properties, (reader->fd->flags & FD_FLAGS_SWITCH_ENDIAN), reader->fd); + IDP_DirectLinkGroup_OrFree(&sce->r.ffcodecdata.properties, reader); } BLO_read_list(reader, &(sce->markers)); @@ -7095,8 +7083,7 @@ static void direct_link_scene(BlendDataReader *reader, Scene *sce) for (srl = sce->r.layers.first; srl; srl = srl->next) { BLO_read_data_address(reader, &srl->prop); - IDP_DirectLinkGroup_OrFree( - &srl->prop, (reader->fd->flags & FD_FLAGS_SWITCH_ENDIAN), reader->fd); + IDP_DirectLinkGroup_OrFree(&srl->prop, reader); BLO_read_list(reader, &(srl->freestyleConfig.modules)); BLO_read_list(reader, &(srl->freestyleConfig.linesets)); } @@ -7184,8 +7171,7 @@ static void direct_link_scene(BlendDataReader *reader, Scene *sce) direct_link_view3dshading(reader, &sce->display.shading); BLO_read_data_address(reader, &sce->layer_properties); - IDP_DirectLinkGroup_OrFree( - &sce->layer_properties, (reader->fd->flags & FD_FLAGS_SWITCH_ENDIAN), reader->fd); + IDP_DirectLinkGroup_OrFree(&sce->layer_properties, reader); } /** \} */ @@ -7316,8 +7302,7 @@ static void direct_link_region(BlendDataReader *reader, ARegion *region, int spa ui_list->type = NULL; ui_list->dyn_data = NULL; BLO_read_data_address(reader, &ui_list->properties); - IDP_DirectLinkGroup_OrFree( - &ui_list->properties, (reader->fd->flags & FD_FLAGS_SWITCH_ENDIAN), reader->fd); + IDP_DirectLinkGroup_OrFree(&ui_list->properties, reader); } BLO_read_list(reader, ®ion->ui_previews); @@ -10227,8 +10212,7 @@ static void lib_link_all(FileData *fd, Main *bmain) static void direct_link_keymapitem(BlendDataReader *reader, wmKeyMapItem *kmi) { BLO_read_data_address(reader, &kmi->properties); - IDP_DirectLinkGroup_OrFree( - &kmi->properties, (reader->fd->flags & FD_FLAGS_SWITCH_ENDIAN), reader->fd); + IDP_DirectLinkGroup_OrFree(&kmi->properties, reader); kmi->ptr = NULL; kmi->flag &= ~KMI_UPDATE; } @@ -10287,8 +10271,7 @@ static BHead *read_userdef(BlendFileData *bfd, FileData *fd, BHead *bhead) LISTBASE_FOREACH (wmKeyConfigPref *, kpt, &user->user_keyconfig_prefs) { BLO_read_data_address(reader, &kpt->prop); - IDP_DirectLinkGroup_OrFree( - &kpt->prop, (reader->fd->flags & FD_FLAGS_SWITCH_ENDIAN), reader->fd); + IDP_DirectLinkGroup_OrFree(&kpt->prop, reader); } LISTBASE_FOREACH (bUserMenu *, um, &user->user_menus) { @@ -10297,16 +10280,14 @@ static BHead *read_userdef(BlendFileData *bfd, FileData *fd, BHead *bhead) if (umi->type == USER_MENU_TYPE_OPERATOR) { bUserMenuItem_Op *umi_op = (bUserMenuItem_Op *)umi; BLO_read_data_address(reader, &umi_op->prop); - IDP_DirectLinkGroup_OrFree( - &umi_op->prop, (reader->fd->flags & FD_FLAGS_SWITCH_ENDIAN), reader->fd); + IDP_DirectLinkGroup_OrFree(&umi_op->prop, reader); } } } for (addon = user->addons.first; addon; addon = addon->next) { BLO_read_data_address(reader, &addon->prop); - IDP_DirectLinkGroup_OrFree( - &addon->prop, (reader->fd->flags & FD_FLAGS_SWITCH_ENDIAN), reader->fd); + IDP_DirectLinkGroup_OrFree(&addon->prop, reader); } // XXX |