[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