Revision: 28617
          
http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=28617
Author:   blendix
Date:     2010-05-06 16:43:56 +0200 (Thu, 06 May 2010)

Log Message:
-----------
Fix tile cache crash, IMB_addrectImbuf could free mipmap levels on
convert tiles to rect, but we want to keep them.

Modified Paths:
--------------
    branches/render25/source/blender/imbuf/intern/cache.c

Modified: branches/render25/source/blender/imbuf/intern/cache.c
===================================================================
--- branches/render25/source/blender/imbuf/intern/cache.c       2010-05-06 
14:43:21 UTC (rev 28616)
+++ branches/render25/source/blender/imbuf/intern/cache.c       2010-05-06 
14:43:56 UTC (rev 28617)
@@ -401,8 +401,15 @@
        for(a=0; a<ibuf->miptot; a++) {
                mipbuf= IMB_getmipmap(ibuf, a);
 
-               if(!imb_addrectImBuf(mipbuf))
-                       break;
+               /* don't call imb_addrectImBuf, it frees all mipmaps */
+               if(!mipbuf->rect) {
+                       if((mipbuf->rect = 
MEM_mapallocN(ibuf->x*ibuf->y*sizeof(unsigned int), "imb_addrectImBuf"))) {
+                               mipbuf->mall |= IB_rect;
+                               mipbuf->flags |= IB_rect;
+                       }
+                       else
+                               break;
+               }
 
                for(ty=0; ty<mipbuf->ytiles; ty++) {
                        for(tx=0; tx<mipbuf->xtiles; tx++) {


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

Reply via email to