[Bf-blender-cvs] [1b8bc74b1f9] soc-2020-custom-menus: Custom Menus : merge master

TempoDev noreply at git.blender.org
Thu Sep 3 19:37:31 CEST 2020


Commit: 1b8bc74b1f93f460a65e255a083f48798834368f
Author: TempoDev
Date:   Thu Sep 3 19:37:15 2020 +0200
Branches: soc-2020-custom-menus
https://developer.blender.org/rB1b8bc74b1f93f460a65e255a083f48798834368f

Custom Menus : merge master

===================================================================



===================================================================

diff --cc source/blender/blenloader/intern/readfile.c
index 743d2faec88,84cb898a426..241ae45ae5e
--- a/source/blender/blenloader/intern/readfile.c
+++ b/source/blender/blenloader/intern/readfile.c
@@@ -9795,9 -8918,8 +8941,9 @@@ static BHead *read_userdef(BlendFileDat
    BLO_read_list(reader, &user->user_menus);
    BLO_read_list(reader, &user->addons);
    BLO_read_list(reader, &user->autoexec_paths);
 +  BLO_read_list(reader, &user->user_menus_group);
  
-   for (keymap = user->user_keymaps.first; keymap; keymap = keymap->next) {
+   LISTBASE_FOREACH (wmKeyMap *, keymap, &user->user_keymaps) {
      keymap->modal_items = NULL;
      keymap->poll = NULL;
      keymap->flag &= ~KEYMAP_UPDATE;
@@@ -9829,31 -8951,20 +8975,31 @@@
  
    LISTBASE_FOREACH (bUserMenu *, um, &user->user_menus) {
      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_BlendDataRead(reader, &umi_op->prop);
 -      }
 -    }
 +    read_usermenuitems(reader, &um->items, NULL);
    }
  
-   for (addon = user->addons.first; addon; addon = addon->next) {
+   LISTBASE_FOREACH (bAddon *, addon, &user->addons) {
      BLO_read_data_address(reader, &addon->prop);
-     IDP_DirectLinkGroup_OrFree(&addon->prop, reader);
+     IDP_BlendDataRead(reader, &addon->prop);
    }
  
 +  LISTBASE_FOREACH (bUserMenusGroup *, umg, &user->user_menus_group) {
 +    BLO_read_list(reader, &umg->menus);
 +    BKE_blender_user_menus_group_idname_update(umg);
 +    LISTBASE_FOREACH (bUserMenu *, um, &umg->menus) {
 +      BLO_read_list(reader, &um->items);
 +      read_usermenuitems(reader, &um->items, NULL);
 +    }
 +  }
 +
 +  if (user->user_menus.first != NULL && user->user_menus_group.first == NULL) {
 +    bUserMenusGroup *umg = BKU_blender_user_menu_default();
 +    BLI_addtail(&user->user_menus_group, umg);
 +    user->runtime.umg_select = umg;
 +    umg->menus = user->user_menus;
 +    BLI_listbase_clear(&user->user_menus);
 +  }
 +
    // XXX
    user->uifonts.first = user->uifonts.last = NULL;



More information about the Bf-blender-cvs mailing list