Commit: f230d15ce1ff0376cc34a10b241132e6bf685fb5
Author: Dalai Felinto
Date:   Tue Aug 5 15:32:21 2014 +0200
Branches: multiview
https://developer.blender.org/rBf230d15ce1ff0376cc34a10b241132e6bf685fb5

fix for exr images not loading in Linux

Note to self, go over the code and try to find other cases when I used 
BLI_snprintf to make sure I didnt use the same string as source and dest (it 
works in OSX, but not in Linux)

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

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

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

diff --git a/source/blender/imbuf/intern/openexr/openexr_api.cpp 
b/source/blender/imbuf/intern/openexr/openexr_api.cpp
index 07baf6d..be1f232 100644
--- a/source/blender/imbuf/intern/openexr/openexr_api.cpp
+++ b/source/blender/imbuf/intern/openexr/openexr_api.cpp
@@ -1467,13 +1467,16 @@ static ExrHandle 
*imb_exr_begin_read_mem(MultiPartInputFile *file, int width, in
        for (echan = (ExrChannel *)data->channels.first; echan; echan = 
echan->next) {
                if (imb_exr_split_channel_name(echan, layname, passname)) {
 
-                       const char *view= echan->m->view.c_str();
+                       const char *view = echan->m->view.c_str();
                        char internal_name[EXR_PASS_MAXNAME];
 
                        BLI_strncpy(internal_name, passname, EXR_PASS_MAXNAME);
 
-                       if (view[0] != '\0')
-                               BLI_snprintf(passname, sizeof(passname), 
"%s.%s", passname, view);
+                       if (view[0] != '\0') {
+                               char tmp_pass[EXR_PASS_MAXNAME];
+                               BLI_snprintf(tmp_pass, sizeof(tmp_pass), 
"%s.%s", passname, view);
+                               BLI_strncpy(passname, tmp_pass, 
sizeof(passname));
+                       }
 
                        ExrLayer *lay = imb_exr_get_layer(&data->layers, 
layname);
                        ExrPass *pass = imb_exr_get_pass(&lay->passes, 
passname);

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

Reply via email to