[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [52183] trunk/blender/source/blender/imbuf /intern/openexr: Bugfix #33161

Ton Roosendaal ton at blender.org
Tue Nov 13 16:36:48 CET 2012


Revision: 52183
          http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=52183
Author:   ton
Date:     2012-11-13 15:36:46 +0000 (Tue, 13 Nov 2012)
Log Message:
-----------
Bugfix #33161

The new node that outputs multilayer was using longer names than default.
Caused old code that truncated pass names to 11 chars to fail on loading exr.

This was an old limit in openexr - but that got fixed long ago.

On todo: check current openexr name lenghts, and all code in Blender that
defines pass/layer names.

Modified Paths:
--------------
    trunk/blender/source/blender/imbuf/intern/openexr/openexr_api.cpp
    trunk/blender/source/blender/imbuf/intern/openexr/openexr_multi.h

Modified: trunk/blender/source/blender/imbuf/intern/openexr/openexr_api.cpp
===================================================================
--- trunk/blender/source/blender/imbuf/intern/openexr/openexr_api.cpp	2012-11-13 14:53:33 UTC (rev 52182)
+++ trunk/blender/source/blender/imbuf/intern/openexr/openexr_api.cpp	2012-11-13 15:36:46 UTC (rev 52183)
@@ -881,7 +881,7 @@
 /* get a substring from the end of the name, separated by '.' */
 static int imb_exr_split_token(const char *str, const char *end, const char **token)
 {
-	int maxlen = end - str;
+	int64_t maxlen = end - str;
 	int len = 0;
 	while (len < maxlen && *(end - len - 1) != '.') {
 		len++;

Modified: trunk/blender/source/blender/imbuf/intern/openexr/openexr_multi.h
===================================================================
--- trunk/blender/source/blender/imbuf/intern/openexr/openexr_multi.h	2012-11-13 14:53:33 UTC (rev 52182)
+++ trunk/blender/source/blender/imbuf/intern/openexr/openexr_multi.h	2012-11-13 15:36:46 UTC (rev 52183)
@@ -35,10 +35,10 @@
 
 /* experiment with more advanced exr api */
 
-/* Note: as for now openexr only supports 32 chars in channel names.
- * This api also supports max 8 channels per pass now. easy to fix! */
-#define EXR_LAY_MAXNAME     51
-#define EXR_PASS_MAXNAME    11
+/* XXX layer+pass name max 64? */
+/* This api also supports max 8 channels per pass now. easy to fix! */
+#define EXR_LAY_MAXNAME     64
+#define EXR_PASS_MAXNAME    64
 #define EXR_TOT_MAXNAME     64
 #define EXR_PASS_MAXCHAN    8
 




More information about the Bf-blender-cvs mailing list