Bug fix #34174
authorTon Roosendaal <ton@blender.org>
Sat, 9 Feb 2013 16:54:10 +0000 (16:54 +0000)
committerTon Roosendaal <ton@blender.org>
Sat, 9 Feb 2013 16:54:10 +0000 (16:54 +0000)
Multilayer files saved from Maya (and I bet others) store the 'primary' layer without
layer or pass name, just as R G B A. Allows viewers to show stuff too, I guess.

Blender now reads this as well, just allowing an empty string for the layer and pass.

source/blender/imbuf/intern/openexr/openexr_api.cpp

index 18b08c9..1b7aa1e 100644 (file)
@@ -882,6 +882,12 @@ static int imb_exr_split_channel_name(ExrChannel *echan, char *layname, char *pa
        const char *token;
        char tokenbuf[EXR_TOT_MAXNAME];
        int len;
        const char *token;
        char tokenbuf[EXR_TOT_MAXNAME];
        int len;
+       
+       /* some multilayers have the combined buffer with names A B G R saved */
+       if (name[1] == 0) {
+               echan->chan_id = name[0];
+               return 1;
+       }
 
        /* last token is single character channel identifier */
        len = imb_exr_split_token(name, end, &token);
 
        /* last token is single character channel identifier */
        len = imb_exr_split_token(name, end, &token);