Commit: 62e2d92aed25fe4da91ed380719ec341b3e0074b
Author: Jacques Lucke
Date:   Fri Aug 28 16:57:28 2020 +0200
Branches: master
https://developer.blender.org/rB62e2d92aed25fe4da91ed380719ec341b3e0074b

Blenloader: add api function for accessing packedfile address map

This is needed to move direct_link_packedfile out of readfile.c for T76372.

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

M       source/blender/blenloader/BLO_read_write.h
M       source/blender/blenloader/intern/readfile.c

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

diff --git a/source/blender/blenloader/BLO_read_write.h 
b/source/blender/blenloader/BLO_read_write.h
index ff3a82f708a..c2f3615725e 100644
--- a/source/blender/blenloader/BLO_read_write.h
+++ b/source/blender/blenloader/BLO_read_write.h
@@ -177,9 +177,12 @@ bool BLO_write_is_undo(BlendWriter *writer);
  */
 
 void *BLO_read_get_new_data_address(BlendDataReader *reader, const void 
*old_address);
+void *BLO_read_get_new_packed_address(BlendDataReader *reader, const void 
*old_address);
 
 #define BLO_read_data_address(reader, ptr_p) \
   *((void **)ptr_p) = BLO_read_get_new_data_address((reader), *(ptr_p))
+#define BLO_read_packed_address(reader, ptr_p) \
+  *((void **)ptr_p) = BLO_read_get_new_packed_address((reader), *(ptr_p))
 
 typedef void (*BlendReadListFn)(BlendDataReader *reader, void *data);
 void BLO_read_list_cb(BlendDataReader *reader, struct ListBase *list, 
BlendReadListFn callback);
diff --git a/source/blender/blenloader/intern/readfile.c 
b/source/blender/blenloader/intern/readfile.c
index e9dcd5dddae..84cb898a426 100644
--- a/source/blender/blenloader/intern/readfile.c
+++ b/source/blender/blenloader/intern/readfile.c
@@ -2631,12 +2631,12 @@ static void direct_link_paint_curve(BlendDataReader 
*reader, PaintCurve *pc)
 /** \name Read PackedFile
  * \{ */
 
-static PackedFile *direct_link_packedfile(BlendDataReader *reader, PackedFile 
*oldpf)
+static PackedFile *direct_link_packedfile(BlendDataReader *reader, PackedFile 
*pf)
 {
-  PackedFile *pf = newpackedadr(reader->fd, oldpf);
+  BLO_read_packed_address(reader, &pf);
 
   if (pf) {
-    pf->data = newpackedadr(reader->fd, pf->data);
+    BLO_read_packed_address(reader, &pf->data);
     if (pf->data == NULL) {
       /* We cannot allow a PackedFile with a NULL data field,
        * the whole code assumes this is not possible. See T70315. */
@@ -11089,6 +11089,11 @@ void *BLO_read_get_new_data_address(BlendDataReader 
*reader, const void *old_add
   return newdataadr(reader->fd, old_address);
 }
 
+void *BLO_read_get_new_packed_address(BlendDataReader *reader, const void 
*old_address)
+{
+  return newpackedadr(reader->fd, old_address);
+}
+
 ID *BLO_read_get_new_id_address(BlendLibReader *reader, Library *lib, ID *id)
 {
   return newlibadr(reader->fd, lib, id);

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

Reply via email to