Commit: 3ad17b9405c5f5c5101ebb8529eef68d72436f07
Author: Bastien Montagne
Date:   Tue Oct 27 15:05:17 2015 +0100
Branches: asset-engine
https://developer.blender.org/rB3ad17b9405c5f5c5101ebb8529eef68d72436f07

Merge branch 'master' into asset-engine

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



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

diff --cc source/blender/blenloader/intern/readfile.c
index a322e99,b112f3d..2fb125b
--- a/source/blender/blenloader/intern/readfile.c
+++ b/source/blender/blenloader/intern/readfile.c
@@@ -9759,39 -9763,20 +9767,44 @@@ ID *BLO_library_link_named_part_ex
          Scene *scene, View3D *v3d)
  {
        FileData *fd = (FileData*)(*bh);
 -      return link_named_part_ex(mainl, fd, idcode, name, flag, scene, v3d);
 +      return link_named_part_ex(mainl, fd, NULL, idcode, name, NULL, flag, 
scene, v3d);
 +}
 +
 +/**
 + * Link a named datablock from an external blend file, using given asset 
engine & asset UUID.
 + * Optionally instantiate the object/group in the scene when the flags are 
set.
 + *
 + * \param mainl The main database to link from (not the active one).
 + * \param bh The blender file handle.
 + * \param aet The asset engine type (NULL when no asset engine is used).
 + * \param idcode The kind of datablock to link.
 + * \param name The name of the datablock (without the 2 char ID prefix).
 + * \param uuid The asset engine's UUID of this datablock (NULL when no asset 
engine is used).
 + * \param flag Options for linking, used for instantiating.
 + * \param scene The scene in which to instantiate objects/groups (if NULL, no 
instantiation is done).
 + * \param v3d The active View3D (only to define active layers for 
instantiated objects & groups, can be NULL).
 + * \return the linked ID when found.
 + */
 +struct ID *BLO_library_link_named_part_asset(
 +        Main *mainl, BlendHandle **bh, const AssetEngineType *aet,
 +        const short idcode, const char *name, const AssetUUID *uuid, const 
short flag,
 +        Scene *scene, View3D *v3d)
 +{
 +      FileData *fd = (FileData*)(*bh);
 +      return link_named_part_ex(mainl, fd, aet, idcode, name, uuid, flag, 
scene, v3d);
  }
  
- static void link_id_part(FileData *fd, Main *mainvar, ID *id, ID **r_id)
+ static void link_id_part(ReportList *reports, FileData *fd, Main *mainvar, ID 
*id, ID **r_id)
  {
-       BHead *bhead = find_bhead_from_idname(fd, id->name);
+       BHead *bhead = NULL;
+ 
+       if (fd) {
+               bhead = find_bhead_from_idname(fd, id->name);
+       }
+ 
+       id->flag &= ~LIB_READ;
  
        if (bhead) {
-               id->flag &= ~LIB_READ;
                id->flag |= LIB_NEED_EXPAND;
                // printf("read lib block %s\n", id->name);
                read_libblock(fd, mainvar, bhead, id->flag, r_id);

_______________________________________________
Bf-blender-cvs mailing list
[email protected]
http://lists.blender.org/mailman/listinfo/bf-blender-cvs

Reply via email to