Commit: 966fef9d34930a258ea58c9ea23743c5d56816a8
Author: Bastien Montagne
Date:   Tue Apr 10 18:24:09 2018 +0200
Branches: asset-engine
https://developer.blender.org/rB966fef9d34930a258ea58c9ea23743c5d56816a8

Merge branch 'blender2.8' into asset-engine

Conflicts:
        source/blender/blenloader/intern/readfile.c
        source/blender/makesrna/intern/rna_ID.c

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



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

diff --cc release/scripts/startup/bl_ui/space_info.py
index 54beb5ce4b7,cbe6449d1df..cb84085b8ae
--- a/release/scripts/startup/bl_ui/space_info.py
+++ b/release/scripts/startup/bl_ui/space_info.py
@@@ -83,17 -84,8 +84,17 @@@ class INFO_HT_header(Header)
              row.label(bpy.app.autoexec_fail_message)
              return
  
 +        if (bpy.app.assets_fail or bpy.app.assets_need_reload) and not 
bpy.app.assets_quiet:
 +            row.operator("script.assets_warn_clear", text="Ignore")
 +            if bpy.app.assets_need_reload is True and bpy.app.assets_quiet is 
False:
 +                row.operator("wm.assets_reload", icon='SCREEN_BACK', 
text="Reload Assets")
 +                row.label("Some assets have to be reloaded", icon='INFO')
 +            if bpy.app.assets_fail is True and bpy.app.assets_quiet is False:
 +                row.label("Some asset engine(s) failed to retrieve updated 
data about their assets...", icon='ERROR')
 +            return
 +
          row.operator("wm.splash", text="", icon='BLENDER', emboss=False)
-         row.label(text=scene.statistics(workspace, context.view_layer), 
translate=False)
+         row.label(text=scene.statistics(context.view_layer), translate=False)
  
  
  class INFO_MT_editor_menus(Menu):
diff --cc source/blender/blenloader/intern/readfile.c
index 1f4a96ac43d,7ae8f0410c5..0d5467eb744
--- a/source/blender/blenloader/intern/readfile.c
+++ b/source/blender/blenloader/intern/readfile.c
@@@ -8557,11 -8554,7 +8572,11 @@@ static BHead *read_libblock(FileData *f
                *r_id = id;
        if (!id)
                return blo_nextbhead(fd, bhead);
--      
-       id->tag = tag | LIB_TAG_NEED_LINK;
++
 +#ifdef DEBUG_LIBRARY
 +      printf("id: %s (%p, %p), lib: %p\n", id->name, id, id->uuid, 
main->curlib);
 +#endif
++
        id->lib = main->curlib;
        id->us = ID_FAKE_USERS(id);
        id->icon_id = 0;
@@@ -8571,31 -8564,12 +8586,31 @@@
        
        /* this case cannot be direct_linked: it's just the ID part */
        if (bhead->code == ID_ID) {
+               /* That way, we know which datablock needs do_versions 
(required currently for linking). */
+               id->tag = tag | LIB_TAG_NEED_LINK | LIB_TAG_NEW;
+ 
 +              if (id->uuid) {
 +                      /* read all data into fd->datamap */
 +                      bhead = read_data_into_oldnewmap(fd, bhead, __func__);
 +
 +                      id->uuid = newdataadr(fd, id->uuid);
 +                      id->uuid->ibuff = NULL;  /* Just in case... */
 +                      id->uuid->width = id->uuid->height = 0;
 +
 +                      oldnewmap_free_unused(fd->datamap);
 +                      oldnewmap_clear(fd->datamap);
 +                      return bhead;
 +              }
 +
                return blo_nextbhead(fd, bhead);
        }
 +      
 +      /* If we have a real ID from a virtual library, tag ID as extern. */
 +      if (id->lib && (id->lib->flag & LIBRARY_FLAG_VIRTUAL)) {
 +              BLI_assert(ID_VIRTUAL_LIBRARY_VALID(id));
 +              id->tag |= LIB_TAG_EXTERN;
 +      }
  
-       /* That way, we know which datablock needs do_versions (required 
currently for linking). */
-       id->tag |= LIB_TAG_NEW;
- 
        /* need a name for the mallocN, just for debugging and sane prints on 
leaks */
        allocname = dataname(GS(id->name));
        
diff --cc source/blender/makesrna/intern/rna_ID.c
index 285a4957592,088b2b67af5..b0ecf93ce40
--- a/source/blender/makesrna/intern/rna_ID.c
+++ b/source/blender/makesrna/intern/rna_ID.c
@@@ -793,29 -793,14 +793,37 @@@ static int rna_ID_is_updated_data_get(P
        return ((data->recalc & ID_RECALC_ALL) != 0);
  }
  
 +static void rna_ID_asset_dependencies_begin(CollectionPropertyIterator *iter, 
PointerRNA *ptr)
 +{
 +      ID *id = ptr->data;
 +
 +      if (id->uuid && id->lib) {
 +              AssetRef *aref = 
BKE_library_asset_repository_asset_find(id->lib, id);
 +              if (aref) {
 +                      rna_iterator_listbase_begin(iter, &aref->id_list, NULL);
 +                      return;
 +              }
 +      }
 +      rna_iterator_listbase_begin(iter, NULL, NULL);
 +}
 +
 +static PointerRNA rna_ID_asset_dependencies_get(CollectionPropertyIterator 
*iter)
 +{
 +      ListBaseIterator *internal = &iter->internal.listbase;
 +      PointerRNA ptr;
 +
 +      RNA_id_pointer_create((ID *)((LinkData *)internal->link)->data, &ptr);
 +      return ptr;
 +}
 +
+ static IDProperty *rna_IDPropertyWrapPtr_idprops(PointerRNA *ptr, bool 
UNUSED(create))
+ {
+       if (ptr == NULL) {
+               return NULL;
+       }
+       return ptr->data;
+ }
+ 
  #else
  
  static void rna_def_ID_properties(BlenderRNA *brna)

_______________________________________________
Bf-blender-cvs mailing list
Bf-blender-cvs@blender.org
https://lists.blender.org/mailman/listinfo/bf-blender-cvs

Reply via email to