[Bf-blender-cvs] [7025a1b] master: Fix T37945: Crash after undo

Sergey Sharybin noreply at git.blender.org
Thu Dec 26 11:44:06 CET 2013


Commit: 7025a1bd7830c3bb58ea7f6a3dba8089869591eb
Author: Sergey Sharybin
Date:   Thu Dec 26 16:34:57 2013 +0600
https://developer.blender.org/rB7025a1bd7830c3bb58ea7f6a3dba8089869591eb

Fix T37945: Crash after undo

Issue was caused by some typos in readfile.c made in
original commit of image cache rewrite.

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

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

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

diff --git a/source/blender/blenloader/intern/readfile.c b/source/blender/blenloader/intern/readfile.c
index 97e11d5..ac69394 100644
--- a/source/blender/blenloader/intern/readfile.c
+++ b/source/blender/blenloader/intern/readfile.c
@@ -1354,7 +1354,13 @@ void blo_end_image_pointer_map(FileData *fd, Main *oldmain)
 	}
 	
 	for (; ima; ima = ima->id.next) {
-		ima->cache = newmclipadr(fd, ima->cache);
+		ima->cache = newimaadr(fd, ima->cache);
+		if (ima->cache == NULL) {
+			ima->bindcode = 0;
+			ima->tpageflag &= ~IMA_GLBIND_IS_DATA;
+			ima->gputexture = NULL;
+			ima->rr = NULL;
+		}
 		for (i = 0; i < IMA_MAX_RENDER_SLOT; i++)
 			ima->renders[i] = newimaadr(fd, ima->renders[i]);
 		
@@ -3277,7 +3283,7 @@ static void direct_link_image(FileData *fd, Image *ima)
 		ima->cache = NULL;
 
 	/* if not restored, we keep the binded opengl index */
-	if (!fd->imamap) {
+	if (!ima->cache) {
 		ima->bindcode = 0;
 		ima->tpageflag &= ~IMA_GLBIND_IS_DATA;
 		ima->gputexture = NULL;




More information about the Bf-blender-cvs mailing list