[Bf-blender-cvs] [3a519e00c5e] soc-2020-custom-menus: Custom Menu: fix merge
TempoDev
noreply at git.blender.org
Mon Jun 29 03:07:26 CEST 2020
Commit: 3a519e00c5e3bae1613bd97f52f3f451814682c2
Author: TempoDev
Date: Mon Jun 29 03:06:51 2020 +0200
Branches: soc-2020-custom-menus
https://developer.blender.org/rB3a519e00c5e3bae1613bd97f52f3f451814682c2
Custom Menu: fix merge
===================================================================
===================================================================
diff --cc source/blender/blenloader/intern/readfile.c
index c818a85795d,f9520989ec5..5f78b27cc3a
--- a/source/blender/blenloader/intern/readfile.c
+++ b/source/blender/blenloader/intern/readfile.c
@@@ -10249,23 -9961,6 +9961,25 @@@ static void direct_link_keymapitem(Blen
kmi->flag &= ~KMI_UPDATE;
}
- static void read_usermenuitems(FileData *fd, ListBase *lb, bUserMenuItem_SubMenu *parent)
++static void read_usermenuitems(BlendDataReader *reader,
++ ListBase *lb,
++ bUserMenuItem_SubMenu *parent)
+{
+ LISTBASE_FOREACH (bUserMenuItem *, umi, lb) {
+ umi->parent = parent;
+ if (umi->type == USER_MENU_TYPE_OPERATOR) {
+ bUserMenuItem_Op *umi_op = (bUserMenuItem_Op *)umi;
- umi_op->prop = newdataadr(fd, umi_op->prop);
- IDP_DirectLinkGroup_OrFree(&umi_op->prop, (fd->flags & FD_FLAGS_SWITCH_ENDIAN), fd);
++ BLO_read_data_address(reader, &umi_op->prop);
++ IDP_DirectLinkGroup_OrFree(&umi_op->prop, reader);
+ }
+ if (umi->type == USER_MENU_TYPE_SUBMENU) {
+ bUserMenuItem_SubMenu *umi_sm = (bUserMenuItem_SubMenu *)umi;
- link_list(fd, &umi_sm->items);
- read_usermenuitems(fd, &umi_sm->items, umi_sm);
++ BLO_read_list(reader, &umi_sm->items);
++ read_usermenuitems(reader, &umi_sm->items, umi_sm);
+ }
+ }
+}
+
static BHead *read_userdef(BlendFileData *bfd, FileData *fd, BHead *bhead)
{
UserDef *user;
@@@ -10321,8 -10019,14 +10038,8 @@@
}
LISTBASE_FOREACH (bUserMenu *, um, &user->user_menus) {
- link_list(fd, &um->items);
- read_usermenuitems(fd, &um->items, NULL);
+ BLO_read_list(reader, &um->items);
- LISTBASE_FOREACH (bUserMenuItem *, umi, &um->items) {
- 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);
- }
- }
++ read_usermenuitems(reader, &um->items, NULL);
}
for (addon = user->addons.first; addon; addon = addon->next) {
diff --cc source/blender/blenloader/intern/writefile.c
index 44c0972eebe,83c587cc446..4ffe0650eab
--- a/source/blender/blenloader/intern/writefile.c
+++ b/source/blender/blenloader/intern/writefile.c
@@@ -1232,41 -1234,12 +1234,42 @@@ static void write_keymapitem(BlendWrite
}
}
- static void write_usermenuitems(WriteData *wd, ListBase *lb)
++static void write_usermenuitems(BlendWriter *writer, ListBase *lb)
+{
+ LISTBASE_FOREACH (const bUserMenuItem *, umi, lb) {
+ if (umi->type == USER_MENU_TYPE_OPERATOR) {
+ const bUserMenuItem_Op *umi_op = (const bUserMenuItem_Op *)umi;
- writestruct(wd, DATA, bUserMenuItem_Op, 1, umi_op);
++ BLO_write_struct(writer, bUserMenuItem_Op, umi_op);
+ if (umi_op->prop) {
- IDP_WriteProperty(umi_op->prop, wd);
++ IDP_WriteProperty(umi_op->prop, writer);
+ }
+ }
+ else if (umi->type == USER_MENU_TYPE_MENU) {
+ const bUserMenuItem_Menu *umi_mt = (const bUserMenuItem_Menu *)umi;
- writestruct(wd, DATA, bUserMenuItem_Menu, 1, umi_mt);
++ BLO_write_struct(writer, bUserMenuItem_Menu, umi_mt);
+ }
+ else if (umi->type == USER_MENU_TYPE_PROP) {
+ const bUserMenuItem_Prop *umi_pr = (const bUserMenuItem_Prop *)umi;
- writestruct(wd, DATA, bUserMenuItem_Prop, 1, umi_pr);
++ BLO_write_struct(writer, bUserMenuItem_Prop, umi_pr);
+ }
+ else if (umi->type == USER_MENU_TYPE_SUBMENU) {
+ const bUserMenuItem_SubMenu *umi_sm = (const bUserMenuItem_SubMenu *)umi;
- writestruct(wd, DATA, bUserMenuItem_SubMenu, 1, umi_sm);
- write_usermenuitems(wd, &umi_sm->items);
++ BLO_write_struct(writer, bUserMenuItem_SubMenu, umi_sm);
++ write_usermenuitems(writer, &umi_sm->items);
+ }
+ else {
- writestruct(wd, DATA, bUserMenuItem, 1, umi);
++ BLO_write_struct(writer, bUserMenuItem, umi);
+ }
+ }
+}
+
- static void write_userdef(WriteData *wd, const UserDef *userdef)
+ static void write_userdef(BlendWriter *writer, const UserDef *userdef)
++
{
- writestruct(wd, USER, UserDef, 1, userdef);
+ writestruct(writer->wd, USER, UserDef, 1, userdef);
LISTBASE_FOREACH (const bTheme *, btheme, &userdef->themes) {
- writestruct(wd, DATA, bTheme, 1, btheme);
+ BLO_write_struct(writer, bTheme, btheme);
}
LISTBASE_FOREACH (const wmKeyMap *, keymap, &userdef->user_keymaps) {
@@@ -1295,8 -1268,27 +1298,8 @@@
}
LISTBASE_FOREACH (const bUserMenu *, um, &userdef->user_menus) {
- writestruct(wd, DATA, bUserMenu, 1, um);
- write_usermenuitems(wd, &um->items);
+ BLO_write_struct(writer, bUserMenu, um);
- LISTBASE_FOREACH (const bUserMenuItem *, umi, &um->items) {
- if (umi->type == USER_MENU_TYPE_OPERATOR) {
- const bUserMenuItem_Op *umi_op = (const bUserMenuItem_Op *)umi;
- BLO_write_struct(writer, bUserMenuItem_Op, umi_op);
- if (umi_op->prop) {
- IDP_WriteProperty(umi_op->prop, writer);
- }
- }
- else if (umi->type == USER_MENU_TYPE_MENU) {
- const bUserMenuItem_Menu *umi_mt = (const bUserMenuItem_Menu *)umi;
- BLO_write_struct(writer, bUserMenuItem_Menu, umi_mt);
- }
- else if (umi->type == USER_MENU_TYPE_PROP) {
- const bUserMenuItem_Prop *umi_pr = (const bUserMenuItem_Prop *)umi;
- BLO_write_struct(writer, bUserMenuItem_Prop, umi_pr);
- }
- else {
- BLO_write_struct(writer, bUserMenuItem, umi);
- }
- }
++ write_usermenuitems(writer, &um->items);
}
LISTBASE_FOREACH (const bAddon *, bext, &userdef->addons) {
More information about the Bf-blender-cvs
mailing list