[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [50903] trunk/blender/source/blender: Fix #32666: Memory Cache Limit stops working after set to 2048

Sergey Sharybin sergey.vfx at gmail.com
Wed Sep 26 13:16:27 CEST 2012


Revision: 50903
          http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=50903
Author:   nazgul
Date:     2012-09-26 11:16:27 +0000 (Wed, 26 Sep 2012)
Log Message:
-----------
Fix #32666: Memory Cache Limit stops working after set to 2048

Solved two issues here:

- RNA update function for cache limiter wasn't type-casting to size_t
  type, which lead to long int overflow.

- Display buffer size in color management wasn't calculated properly,
  ended up with much more extra memory usage than it's needed.

Modified Paths:
--------------
    trunk/blender/source/blender/imbuf/intern/colormanagement.c
    trunk/blender/source/blender/makesrna/intern/rna_userdef.c

Modified: trunk/blender/source/blender/imbuf/intern/colormanagement.c
===================================================================
--- trunk/blender/source/blender/imbuf/intern/colormanagement.c	2012-09-26 11:14:40 UTC (rev 50902)
+++ trunk/blender/source/blender/imbuf/intern/colormanagement.c	2012-09-26 11:16:27 UTC (rev 50903)
@@ -1831,7 +1831,7 @@
 			return display_buffer;
 		}
 
-		buffer_size = DISPLAY_BUFFER_CHANNELS * ibuf->x * ibuf->y * sizeof(float);
+		buffer_size = DISPLAY_BUFFER_CHANNELS * ibuf->x * ibuf->y * sizeof(char);
 		display_buffer = MEM_callocN(buffer_size, "imbuf display buffer");
 
 		colormanage_display_buffer_process(ibuf, display_buffer, applied_view_settings, display_settings);

Modified: trunk/blender/source/blender/makesrna/intern/rna_userdef.c
===================================================================
--- trunk/blender/source/blender/makesrna/intern/rna_userdef.c	2012-09-26 11:14:40 UTC (rev 50902)
+++ trunk/blender/source/blender/makesrna/intern/rna_userdef.c	2012-09-26 11:16:27 UTC (rev 50903)
@@ -265,7 +265,7 @@
 
 static void rna_Userdef_memcache_update(Main *UNUSED(bmain), Scene *UNUSED(scene), PointerRNA *UNUSED(ptr))
 {
-	MEM_CacheLimiter_set_maximum(U.memcachelimit * 1024 * 1024);
+	MEM_CacheLimiter_set_maximum(((size_t) U.memcachelimit) * 1024 * 1024);
 }
 
 static void rna_UserDef_weight_color_update(Main *bmain, Scene *scene, PointerRNA *ptr)




More information about the Bf-blender-cvs mailing list