Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJacques Lucke <jacques@blender.org>2020-09-10 15:35:09 +0300
committerJacques Lucke <jacques@blender.org>2020-09-10 15:35:51 +0300
commitfbc12e6cc5ea72215ade0ac3405c50ca7c89e29c (patch)
treea539a6bc166e7e4ae5207b697459d5e1bdcf8f27 /source/blender/blenloader/intern/readfile.c
parent4a82d792b03b61baed6d70bed288291c72f1e3b8 (diff)
Cleanup: extract functions for PackedFile .blend I/O
Diffstat (limited to 'source/blender/blenloader/intern/readfile.c')
-rw-r--r--source/blender/blenloader/intern/readfile.c38
1 files changed, 8 insertions, 30 deletions
diff --git a/source/blender/blenloader/intern/readfile.c b/source/blender/blenloader/intern/readfile.c
index bb390320312..9d0a61c8a1a 100644
--- a/source/blender/blenloader/intern/readfile.c
+++ b/source/blender/blenloader/intern/readfile.c
@@ -147,6 +147,7 @@
#include "BKE_nla.h"
#include "BKE_node.h" // for tree type defines
#include "BKE_object.h"
+#include "BKE_packedFile.h"
#include "BKE_paint.h"
#include "BKE_particle.h"
#include "BKE_pointcache.h"
@@ -2605,29 +2606,6 @@ static void direct_link_paint_curve(BlendDataReader *reader, PaintCurve *pc)
/** \} */
/* -------------------------------------------------------------------- */
-/** \name Read PackedFile
- * \{ */
-
-static PackedFile *direct_link_packedfile(BlendDataReader *reader, PackedFile *pf)
-{
- BLO_read_packed_address(reader, &pf);
-
- if (pf) {
- 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. */
- printf("%s: NULL packedfile data, cleaning up...\n", __func__);
- MEM_SAFE_FREE(pf);
- }
- }
-
- return pf;
-}
-
-/** \} */
-
-/* -------------------------------------------------------------------- */
/** \name Read Animation (legacy for version patching)
* \{ */
@@ -3184,7 +3162,7 @@ static void direct_link_vfont(BlendDataReader *reader, VFont *vf)
{
vf->data = NULL;
vf->temp_pf = NULL;
- vf->packedfile = direct_link_packedfile(reader, vf->packedfile);
+ BKE_packedfile_blend_read(reader, &vf->packedfile);
}
/** \} */
@@ -3219,12 +3197,12 @@ static void direct_link_image(BlendDataReader *reader, Image *ima)
if (ima->packedfiles.first) {
LISTBASE_FOREACH (ImagePackedFile *, imapf, &ima->packedfiles) {
- imapf->packedfile = direct_link_packedfile(reader, imapf->packedfile);
+ BKE_packedfile_blend_read(reader, &imapf->packedfile);
}
ima->packedfile = NULL;
}
else {
- ima->packedfile = direct_link_packedfile(reader, ima->packedfile);
+ BKE_packedfile_blend_read(reader, &ima->packedfile);
}
BLI_listbase_clear(&ima->anims);
@@ -6834,7 +6812,7 @@ static void direct_link_library(FileData *fd, Library *lib, Main *main)
// printf("direct_link_library: filepath_abs %s\n", lib->filepath_abs);
BlendDataReader reader = {fd};
- lib->packedfile = direct_link_packedfile(&reader, lib->packedfile);
+ BKE_packedfile_blend_read(&reader, &lib->packedfile);
/* new main */
newmain = BKE_main_new();
@@ -6947,8 +6925,8 @@ static void direct_link_sound(BlendDataReader *reader, bSound *sound)
/* clear waveform loading flag */
sound->tags &= ~SOUND_TAGS_WAVEFORM_LOADING;
- sound->packedfile = direct_link_packedfile(reader, sound->packedfile);
- sound->newpackedfile = direct_link_packedfile(reader, sound->newpackedfile);
+ BKE_packedfile_blend_read(reader, &sound->packedfile);
+ BKE_packedfile_blend_read(reader, &sound->newpackedfile);
}
static void lib_link_sound(BlendLibReader *reader, bSound *sound)
@@ -7218,7 +7196,7 @@ static void direct_link_volume(BlendDataReader *reader, Volume *volume)
BLO_read_data_address(reader, &volume->adt);
BKE_animdata_blend_read_data(reader, volume->adt);
- volume->packedfile = direct_link_packedfile(reader, volume->packedfile);
+ BKE_packedfile_blend_read(reader, &volume->packedfile);
volume->runtime.frame = 0;
/* materials */