Commit: b89530845aa578c33365fe8b2eba3ac2be36ea8b
Author: Bastien Montagne
Date:   Wed Oct 14 16:22:57 2015 +0200
Branches: missing-libs
https://developer.blender.org/rBb89530845aa578c33365fe8b2eba3ac2be36ea8b

Cleanup.

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

M       source/blender/blenkernel/BKE_font.h
M       source/blender/blenkernel/intern/library.c
M       source/blender/blenloader/intern/readfile.c

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

diff --git a/source/blender/blenkernel/BKE_font.h 
b/source/blender/blenkernel/BKE_font.h
index ad34e77..76879e2 100644
--- a/source/blender/blenkernel/BKE_font.h
+++ b/source/blender/blenkernel/BKE_font.h
@@ -78,7 +78,7 @@ bool BKE_vfont_is_builtin(struct VFont *vfont);
 void BKE_vfont_builtin_register(void *mem, int size);
 
 void BKE_vfont_free_data(struct VFont *vfont);
-void BKE_vfont_free(struct VFont *sc, const bool do_id_user);
+void BKE_vfont_free(struct VFont *sc);
 void BKE_vfont_init(struct VFont *vfont);
 struct VFont *BKE_vfont_builtin_get(void);
 struct VFont *BKE_vfont_load(struct Main *bmain, const char *filepath);
diff --git a/source/blender/blenkernel/intern/library.c 
b/source/blender/blenkernel/intern/library.c
index 5a8b6ff..d29eaee 100644
--- a/source/blender/blenkernel/intern/library.c
+++ b/source/blender/blenkernel/intern/library.c
@@ -839,12 +839,11 @@ void BKE_libblock_init_empty(ID *id)
                        break;
                case ID_IP:
                        /* Should not be needed - animation from lib pre-2.5 is 
broken anyway. */
-                       /* TDOD: check this does not break completely at least. 
*/
+                       BLI_assert(0);
                        break;
                case ID_KE:
-                       /* XXX Shapekeys are a complex topic too - they depend 
on their 'user' data type...
-                        *     I think it should never reach here anyway (afaik 
you cannot link skeys).
-                        *     Adding an assert to be sure. */
+                       /* Shapekeys are a complex topic too - they depend on 
their 'user' data type...
+                        * They are not linkable, though, so it should never 
reach here anyway. */
                        BLI_assert(0);
                        break;
                case ID_WO:
@@ -863,7 +862,7 @@ void BKE_libblock_init_empty(ID *id)
                        BLI_assert(0);
                        break;
                case ID_SO:
-                       /* XXX Another fuzzy case, thing NULLified content is 
OK here... */
+                       /* Another fuzzy case, think NULLified content is OK 
here... */
                        break;
                case ID_GR:
                        /* Nothing to do. */
diff --git a/source/blender/blenloader/intern/readfile.c 
b/source/blender/blenloader/intern/readfile.c
index 015a6a7..4c8bdbd 100644
--- a/source/blender/blenloader/intern/readfile.c
+++ b/source/blender/blenloader/intern/readfile.c
@@ -619,21 +619,9 @@ static Main *blo_find_main(FileData *fd, const char 
*filepath, const char *relab
        m = BKE_main_new();
        BLI_addtail(mainlist, m);
        
-       /* Adapted from BKE_libblock_alloc(), with no lock of main, it's most 
likely already locked by caller code. */
-       lib = BKE_libblock_alloc_notest(ID_LI);
-       {
-               /* Add library datablock itself to 'main' Main, since libraries 
are **never** linked data.
-                * Fixes bug where you could end with all ID_LI datablocks 
having the same name... */
-               ListBase *libraries = &((Main *)mainlist->first)->library;
-               ID *id = (ID *)lib;
-
-               BLI_addtail(libraries, id);
-               id->us = 1;
-               id->icon_id = 0;
-               *((short *)id->name) = ID_LI;
-               new_id(libraries, id, "Lib");
-       }
-
+       /* Add library datablock itself to 'main' Main, since libraries are 
**never** linked data.
+        * Fixes bug where you could end with all ID_LI datablocks having the 
same name... */
+       lib = BKE_libblock_alloc(mainlist->first, ID_LI, "Lib");
        BLI_strncpy(lib->name, filepath, sizeof(lib->name));
        BLI_strncpy(lib->filepath, name1, sizeof(lib->filepath));
        
@@ -7949,7 +7937,7 @@ static BHead *read_libblock(FileData *fd, Main *main, 
BHead *bhead, int flag, ID
        if (id->flag & LIB_FAKEUSER) id->us= 1;
        else id->us = 0;
        id->icon_id = 0;
-       id->flag &= ~(LIB_ID_RECALC|LIB_ID_RECALC_DATA|LIB_DOIT|LIB_MISSING);
+       id->flag &= ~(LIB_ID_RECALC | LIB_ID_RECALC_DATA | LIB_DOIT | 
LIB_MISSING);
        
        /* this case cannot be direct_linked: it's just the ID part */
        if (bhead->code == ID_ID) {
@@ -9627,13 +9615,13 @@ static void give_base_to_groups(
        }
 }
 
-static ID *create_placeholder(Main *mainvar, const short idcode, const char 
*name, const short flag)
+static ID *create_placeholder(Main *mainvar, const char *idname, const short 
flag)
 {
+       const short idcode = GS(idname);
        ListBase *lb = which_libbase(mainvar, idcode);
        ID *ph_id = BKE_libblock_alloc_notest(idcode);
 
-       *((short *)ph_id->name) = idcode;
-       memcpy(ph_id->name + 2, name, sizeof(ph_id->name) - 2);
+       memcpy(ph_id->name, idname, sizeof(ph_id->name));
        BKE_libblock_init_empty(ph_id);
        ph_id->lib = mainvar->curlib;
        ph_id->flag = flag | LIB_MISSING;
@@ -9812,9 +9800,9 @@ static void link_id_part(ReportList *reports, FileData 
*fd, Main *mainvar, ID *i
                                mainvar->curlib->filepath,
                                library_parent_filepath(mainvar->curlib));
 
-               /* Generate a placeholder for this ID (limited version of 
read_libblock actually...). */
+               /* Generate a placeholder for this ID (simplified version of 
read_libblock actually...). */
                if (r_id) {
-                       *r_id = create_placeholder(mainvar, GS(id->name), 
id->name + 2, id->flag);
+                       *r_id = create_placeholder(mainvar, id->name, id->flag);
                }
        }
 }

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

Reply via email to