forked from bartvdbraak/blender
Fix for sounds with relative paths not being loaded correctly.
This commit is contained in:
parent
55f82852ca
commit
12a0f2c098
@ -331,11 +331,7 @@ BlendFileData *BLO_read_from_file(char *file, ReportList *reports)
|
|||||||
fd = blo_openblenderfile(file, reports);
|
fd = blo_openblenderfile(file, reports);
|
||||||
if (fd) {
|
if (fd) {
|
||||||
fd->reports= reports;
|
fd->reports= reports;
|
||||||
bfd= blo_read_file_internal(fd);
|
bfd= blo_read_file_internal(fd, file);
|
||||||
if (bfd) {
|
|
||||||
bfd->type= BLENFILETYPE_BLEND;
|
|
||||||
strncpy(bfd->main->name, file, sizeof(bfd->main->name)-1);
|
|
||||||
}
|
|
||||||
blo_freefiledata(fd);
|
blo_freefiledata(fd);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -350,11 +346,7 @@ BlendFileData *BLO_read_from_memory(void *mem, int memsize, ReportList *reports)
|
|||||||
fd = blo_openblendermemory(mem, memsize, reports);
|
fd = blo_openblendermemory(mem, memsize, reports);
|
||||||
if (fd) {
|
if (fd) {
|
||||||
fd->reports= reports;
|
fd->reports= reports;
|
||||||
bfd= blo_read_file_internal(fd);
|
bfd= blo_read_file_internal(fd, "");
|
||||||
if (bfd) {
|
|
||||||
bfd->type= BLENFILETYPE_BLEND;
|
|
||||||
strcpy(bfd->main->name, "");
|
|
||||||
}
|
|
||||||
blo_freefiledata(fd);
|
blo_freefiledata(fd);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -383,11 +375,7 @@ BlendFileData *BLO_read_from_memfile(Main *oldmain, const char *filename, MemFil
|
|||||||
/* makes lookup of existing images in old main */
|
/* makes lookup of existing images in old main */
|
||||||
blo_make_image_pointer_map(fd, oldmain);
|
blo_make_image_pointer_map(fd, oldmain);
|
||||||
|
|
||||||
bfd= blo_read_file_internal(fd);
|
bfd= blo_read_file_internal(fd, "");
|
||||||
if (bfd) {
|
|
||||||
bfd->type= BLENFILETYPE_BLEND;
|
|
||||||
strcpy(bfd->main->name, "");
|
|
||||||
}
|
|
||||||
|
|
||||||
/* ensures relinked images are not freed */
|
/* ensures relinked images are not freed */
|
||||||
blo_end_image_pointer_map(fd, oldmain);
|
blo_end_image_pointer_map(fd, oldmain);
|
||||||
|
@ -9700,7 +9700,7 @@ static BHead *read_userdef(BlendFileData *bfd, FileData *fd, BHead *bhead)
|
|||||||
return bhead;
|
return bhead;
|
||||||
}
|
}
|
||||||
|
|
||||||
BlendFileData *blo_read_file_internal(FileData *fd)
|
BlendFileData *blo_read_file_internal(FileData *fd, char *file)
|
||||||
{
|
{
|
||||||
BHead *bhead= blo_firstbhead(fd);
|
BHead *bhead= blo_firstbhead(fd);
|
||||||
BlendFileData *bfd;
|
BlendFileData *bfd;
|
||||||
@ -9711,6 +9711,9 @@ BlendFileData *blo_read_file_internal(FileData *fd)
|
|||||||
|
|
||||||
bfd->main->versionfile= fd->fileversion;
|
bfd->main->versionfile= fd->fileversion;
|
||||||
|
|
||||||
|
bfd->type= BLENFILETYPE_BLEND;
|
||||||
|
strncpy(bfd->main->name, file, sizeof(bfd->main->name)-1);
|
||||||
|
|
||||||
while(bhead) {
|
while(bhead) {
|
||||||
switch(bhead->code) {
|
switch(bhead->code) {
|
||||||
case DATA:
|
case DATA:
|
||||||
@ -11131,7 +11134,7 @@ BlendFileData *blo_read_blendafterruntime(int file, char *name, int actualsize,
|
|||||||
return NULL;
|
return NULL;
|
||||||
|
|
||||||
fd->reports= reports;
|
fd->reports= reports;
|
||||||
bfd= blo_read_file_internal(fd);
|
bfd= blo_read_file_internal(fd, "");
|
||||||
blo_freefiledata(fd);
|
blo_freefiledata(fd);
|
||||||
|
|
||||||
return bfd;
|
return bfd;
|
||||||
|
@ -108,7 +108,7 @@ struct Main;
|
|||||||
void blo_join_main(ListBase *mainlist);
|
void blo_join_main(ListBase *mainlist);
|
||||||
void blo_split_main(ListBase *mainlist, struct Main *main);
|
void blo_split_main(ListBase *mainlist, struct Main *main);
|
||||||
|
|
||||||
BlendFileData *blo_read_file_internal(FileData *fd);
|
BlendFileData *blo_read_file_internal(FileData *fd, char *file);
|
||||||
|
|
||||||
FileData *blo_openblenderfile(char *name, struct ReportList *reports);
|
FileData *blo_openblenderfile(char *name, struct ReportList *reports);
|
||||||
FileData *blo_openblendermemory(void *buffer, int buffersize, struct ReportList *reports);
|
FileData *blo_openblendermemory(void *buffer, int buffersize, struct ReportList *reports);
|
||||||
|
Loading…
Reference in New Issue
Block a user