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:
authorCampbell Barton <ideasman42@gmail.com>2010-09-06 16:54:54 +0400
committerCampbell Barton <ideasman42@gmail.com>2010-09-06 16:54:54 +0400
commit259b4c12e3010692a2f45d1493005b242f14cb6c (patch)
tree2633685988cb657e870f2b45ecf72c6ad4c664c4 /source/blender/blenloader
parent629c19ff87c5a456ed3ee9f2c79bf358cbb91478 (diff)
bugfix [#23674] Fix for texture path corruptions (bug 23337)
from Mathew Burrack (mburrack) ...also applied a fix so this flag wont be written but including this patch for older startup.blend's. --- from the tracker I've created a patch for the texture path corruption bug, 23337. Basically, G_FILE_RELATIVE_REMAP was improperly getting saved out to the startup.blend file, causing issues when the autosave timer went off. The proper fix is to mask out that flag so it doesn't get written out to .blend files itself, but since that doesn't fix any pre-existing startup.blend files, I just mask it out when startup.blend is read in instead. I've tested it locally and so far, it seems to fix all the issues I've had with texture image paths getting corrupted. I haven't figured out how to properly test the remap-on-save option in the save as dialog, though, so I don't know if I accidentally broke that or not (although I don't see how I could have).
Diffstat (limited to 'source/blender/blenloader')
-rw-r--r--source/blender/blenloader/intern/writefile.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/source/blender/blenloader/intern/writefile.c b/source/blender/blenloader/intern/writefile.c
index f9f66ed8504..dc5a0dbeafa 100644
--- a/source/blender/blenloader/intern/writefile.c
+++ b/source/blender/blenloader/intern/writefile.c
@@ -273,7 +273,7 @@ static void mywrite( WriteData *wd, void *adr, int len)
* @param write_flags Write parameters
* @warning Talks to other functions with global parameters
*/
-static WriteData *bgnwrite(int file, MemFile *compare, MemFile *current, int write_flags)
+static WriteData *bgnwrite(int file, MemFile *compare, MemFile *current)
{
WriteData *wd= writedata_new(file);
@@ -2349,7 +2349,7 @@ static void write_global(WriteData *wd, int fileflags, Main *mainvar)
fg.curscene= screen->scene;
fg.displaymode= G.displaymode;
fg.winpos= G.winpos;
- fg.fileflags= (fileflags & ~G_FILE_NO_UI); // prevent to save this, is not good convention, and feature with concerns...
+ fg.fileflags= (fileflags & ~(G_FILE_NO_UI|G_FILE_RELATIVE_REMAP)); // prevent to save this, is not good convention, and feature with concerns...
fg.globalf= G.f;
BLI_strncpy(fg.filename, mainvar->name, sizeof(fg.filename));
@@ -2384,7 +2384,7 @@ static int write_file_handle(Main *mainvar, int handle, MemFile *compare, MemFil
blo_split_main(&mainlist, mainvar);
- wd= bgnwrite(handle, compare, current, write_flags);
+ wd= bgnwrite(handle, compare, current);
sprintf(buf, "BLENDER%c%c%.3d", (sizeof(void*)==8)?'-':'_', (ENDIAN_ORDER==B_ENDIAN)?'V':'v', BLENDER_VERSION);
mywrite(wd, buf, 12);